その6 探索のアルゴリズム | やうたんのループ<めざせ合格ITパスポート!>

やうたんのループ<めざせ合格ITパスポート!>

めざせ合格ITパスポート!情報処理技術者試験ブログ!
やさしく学ぼう!やうたんと一緒に!情報処理の世界へようこそ!

kato

さて、データ探索のアルゴリズムです。
これだ!って該当するデータを大量のデータから探す方法です。


麻雀で言うと当たり牌を探すみたいなもんですかね。

4

麻雀やるの?かなたん・・・?

ふふふ・・・「アカギ」読んだだけですよ・・・

ふ、福本センセの名作漫画ですね・・・ザワ・・ザワ・・・


そうですね、探索といえば麻雀牌もそうでしょうし、同じ絵柄を探すトランプなんかも
そうかも知れません。



線形探査法(リニアサーチ)
先頭のデータと条件が合致するかどうかを確認し、違っていれば2番目のデータと照合し、
という形で、データの先頭から末尾まで、条件に合うものが見つかるまで順番に検索して
ゆく手法です。

いわゆる、しらみつぶしですね。

そうですね。これはもちろん、データが多くなればなるほど探索に時間がかかります。
ただし、あっという間に見つかる可能性もあるにはあるんですね。



二分探査法(バイナリサーチ)
対象が、データ群の中央にあるデータより前にあるか、後ろにあるかを判断し、2分したデ
ータ群を取捨選択します。更に、残ったデータ群の中央から前後のどちらにあるかを判断
し、取捨選択を繰り返して絞り込んでいきます。

たとえば、1から100までのカードがあるとして持っているカードが64であれば・・・

これは後半部を探せばいいですね。


はい、その通りなんですけど。二分探索法はあらかじめ、データがソート(並び替え)され
ていることが必要です。また、大小関係を用いないデータには無効なやり方です。


(つづきます)