#16

線形探索(リニアサーチ)

先頭から順番に1つずつ目的の値を探す、最も基本的な探索です。

解説

線形探索は、データを先頭から順番に1つずつ調べて目的の値を探す方法です。名簿を上から指でなぞって名前を探すのと同じやり方です。 手順はシンプルです。 1. 先頭から順に要素を見る。 2. 目的の値と一致したら位置を覚えて打ち切る(break)。 3. 最後まで一致しなければ「見つからない」。 長所は並んでいなくても使えること。短所はデータが多いと時間がかかること。最悪 n 回比較します。

書き方

線形探索: 先頭から順に1つずつ比較。
・for i in range(len(data)): で添字 i を回す。
・data[i] == target で一致判定、見つかれば break で打ち切り。
・見つからない印に found = -1 を使う。最悪 O(n)。

書いて動かす

この回の課題

リストを先頭から走査して目的の値の位置を探し、「見つかった位置」または「見つからない」を表示してみよう。

コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。

自分のPCでも続けてみませんか

Windows版 InsightPy は Python を同梱しているので、環境構築なしで同じコードを書いて実行できます。 書いたコードを保存しておけるほか、ステップ実行で変数の変化を1行ずつ確かめられます。 個人の学習や私的な目的でのご利用は、31日目以降も無料です(スクリプトの保存は10本まで)。 このブラウザ版の学習センターも、引き続き無料でお使いいただけます。