探索プログラム

学習の目的

  • 1. 探索とは

  • 2. 線形探索

1. 探索とは

探索とは、複数のデータの中から目的のデータを探し出すことです。

次のデータの中から「123」を探してください。何番目にありますか?

999, 10, 6, 123, 5555, 98, 744, 333

簡単だよー。4番目に123あります!

すぐ見つけられました。

どうやって探しましたか?

どうやってというか、見てすぐわかりました。

では、次のデータの中から「123」を探してください

148, 117, 233, 316, 120, 330, 248, 392, 318, 407, 448, 202, 325, 100, 114, 276, 410, 329, 129, 173, 493, 159, 178, 144, 222, 278, 237, 46, 323, 10, 133, 451, 58, 102, 340, 191, 463, 216, 273, 47, 274, 11, 108, 286, 166, 152, 358, 244, 215, 184, 285, 317, 305, 23, 89, 393, 142, 134, 161, 390, 460, 345, 231, 292, 406, 313, 331, 326, 104, 227, 337, 123, 339, 147, 352, 498, 382, 196, 464, 351, 234, 91, 121, 26, 167, 80, 253, 15, 30, 27, 473, 388, 32, 355, 163, 99, 94, 130, 156, 314

えー・・・どこだろう。すぐにはわかんないです。

さすがにこれは、ぱっとはわかんないな。

データが多くなると探すのは大変ですよね。でもコンピュータは、配列に大量のデータを格納し高速にデータを探索します。

どのような手順でデータを探していくのか学習しましょう。

データを探索する代表的なアルゴリズムに線形探索と二分探索があります。

どのようなアルゴリズムかそれぞれ確認しましょう。

2. 線形探索

線形探索とは、データを先頭から順番に1つずつ比較して探していく方法です。

一気に複数の値と比べて探せないの?

コンピュータは基本的に、1つの値ともう1つの値を順番に比較して処理していきます。

コンピュータの探索は、裏返っているカードの中から目的の数を探す様子に似ています。

例えば、5枚の裏返っているカードの中から「25」を探す場合は次のように行います。

① 初期状態:どのような数値があるかわからない状態

② 1枚を選んで探索する値を比較します。

③ 数値が異なっていたら、次のカードの値と比べます。

④ 数値が見つかるか、すべて比較するまで続けます。

コンピュータは、この手順を配列を使い、先頭から順番に比較しながら探索を行います。

配列の先頭から一直線にデータを探すので線形探索と呼ばれます。

線形探索のアルゴリズムについて学習しましょう。

Well done!

次のステップに進みましょう!

次のステップに進む

← 前のステップにもどる