スポンサーリンク
この記事では
- 線形探索(Linear Search)とは
- コードで示す具体例
- コードの解説
を紹介していきます。
スポンサーリンク
線形探索(Linear Search)とは
- 説明: 配列やリストの最初から最後まで順番に要素を比較して、目的の要素を見つける方法です。
- 時間計算量: 最悪の場合 O(n)。
- 使用例: 小規模なデータセットや、データが無作為に並んでいる場合。
現実の例にすると
「本棚で特定の本を探す」
例えば、あなたが本棚に並んでいる本の中から特定の本を探しているとします。線形探索では、最初の本から順番に1冊ずつ確認していきます。
目的の本を見つけるまで、1冊ずつチェックしていく方法です。
具体例:リストから特定の値を探す
例えば、リスト [4, 2, 7, 1, 9, 3]
から値 7
を探す場合を考えます。
コード例(Python)
def linear_search(arr, target):
for index, value in enumerate(arr):
if value == target:
return index
return -1
# 使用例
arr = [4, 2, 7, 1, 9, 3]
target = 7
result = linear_search(arr, target)
if result != -1:
print(f"ターゲット {target} はインデックス {result} にあります。")
else:
print("ターゲットが見つかりませんでした。")
コードの解説
- 関数定義:
def linear_search(arr, target):
linear_search
という名前の関数を定義しています。この関数は、リストarr
の中からtarget
を探します。 - ループ:
for index, value in enumerate(arr):
enumerate
関数を使って、リストarr
の各要素とそのインデックスを取得します。 - ターゲットの比較:
if value == target: return index
現在の要素
value
がターゲットtarget
と一致する場合、そのインデックスindex
を返します。 - ターゲットが見つからない場合:
return -1
ループが終了してもターゲットが見つからない場合、
-1
を返します。 - 使用例:
arr = [4, 2, 7, 1, 9, 3] target = 7 result = linear_search(arr, target)
リスト
arr
と探したい値target
を定義し、linear_search
関数を呼び出します。 - 結果の表示:
if result != -1: print(f"ターゲット {target} はインデックス {result} にあります。") else: print("ターゲットが見つかりませんでした。")
関数の結果に基づいて、ターゲットが見つかった場合はそのインデックスを表示し、見つからなかった場合はメッセージを表示します。
まとめ
今回のポイントをまとめます。
- 線形探索(Linear Search)とは、配列やリストの最初から最後まで順番に要素を比較して、目的の要素を見つける方法
スポンサーリンク
コメント