ページ

2011-09-26

ビットベクトルによる集合

今日のプログラミングの授業は、テスト返しのみで暇だったので、教科書を読んでいました。

集合のデータ構造は、全く触れもしなかったので、少しだけ読んでいました。
集合の要素が、1~100など、少ない記憶領域のみの集合だった場合、ビットベクトルによって集合を表すことが出来るという考え方です。もし、集合の要素が0から31までの値であったなら、ビットベクトルはlong型を使います。long型を2進数で表し、第nビット目が1ならば、そのnの要素が集合に存在しており、0ならば、存在していないということになります。


勉強になったのは、そのビットベクトルのデータ構造です。集合に、要素を代入したり、要素から要素を引く時など、そのような場合には、AND演算子や、OR演算子を使っていました。andやorなどの条件式は、いつもプログラミング時に使いますが、演算はタイプした事がないと言っていいほど、使った事がありませんでした。
プログラミングをする際、1と0や、「ある」「ない」を扱う場合などは、ビットベクトルや、論理演算を使って動くプログラムを作っていきたいです。

2 件のコメント:

  1. 自分もあんまり使ったことないです.以前C++を学んだ時に多少やりましたが,全く使いこなせていないです.

    返信削除
  2. >tanutarouさん

    なにか作品を作っていきたいですね。

    返信削除