さて、データ探索のアルゴリズムです。
これだ!って該当するデータを大量のデータから探す方法です。
麻雀で言うと当たり牌を探すみたいなもんですかね。
麻雀やるの?かなたん・・・?
ふふふ・・・「アカギ」読んだだけですよ・・・
ふ、福本センセの名作漫画ですね・・・ザワ・・ザワ・・・
そうですね、探索といえば麻雀牌もそうでしょうし、同じ絵柄を探すトランプなんかも
そうかも知れません。
線形探査法(リニアサーチ)
先頭のデータと条件が合致するかどうかを確認し、違っていれば2番目のデータと照合し、
という形で、データの先頭から末尾まで、条件に合うものが見つかるまで順番に検索して
ゆく手法です。
いわゆる、しらみつぶしですね。
そうですね。これはもちろん、データが多くなればなるほど探索に時間がかかります。
ただし、あっという間に見つかる可能性もあるにはあるんですね。
二分探査法(バイナリサーチ)
対象が、データ群の中央にあるデータより前にあるか、後ろにあるかを判断し、2分したデ
ータ群を取捨選択します。更に、残ったデータ群の中央から前後のどちらにあるかを判断
し、取捨選択を繰り返して絞り込んでいきます。
たとえば、1から100までのカードがあるとして持っているカードが64であれば・・・
これは後半部を探せばいいですね。
はい、その通りなんですけど。二分探索法はあらかじめ、データがソート(並び替え)され
ていることが必要です。また、大小関係を用いないデータには無効なやり方です。
(つづきます)