エンジニア成長日記 swaponQ

コンピュータサイエンス専攻の一般人のブログです。

Python で アルゴリズム 実装 第1回 線型探索

はじめに

Hello, Terminal!swaponQです!

唐突ですが、アルゴリズムの復習をしたくなりました笑
なので思いついたその勢いで、Python で実装を行なっていきたいと思います!
Javaでの実装でも良かったのですが、簡潔に記述することができるのでPythonを選択しました。
(他の言語での実装の希望がありましたらお問い合わせフォームやコメント等でお知らせくださいね)

今回は 第1回 線型探索 です!

線形探索

アルゴリズム

線形探索(せんけいたんさく、英: linear search, sequential search)は、検索のアルゴリズムの一つ。 リストや配列に入ったデータに対する検索を行うにあたって、 先頭から順に比較を行い、それが見つかれば終了する。
n個のデータからm個のデータを検索する場合、時間計算量は O(nm)空間計算量は O(1)である。
線型探索 - Wikipedia

実装

linear_search.py
def linear_search(data, value):
    for i in range(len(data)):
        if data[i] == value:
            return i #探索成功:インデックスを返却
    return -1 #探索失敗:-1を返却

if __name__ == '__main__':
    data = [1,3,5,7,9,2,4,6,8,0]
    print('data =', data)
    value = int(input('input value = '))
    print('index =', linear_search(data, value))
result
data = [1, 3, 5, 7, 9, 2, 4, 6, 8, 0]
input value = 2
index = 5

おわり

今回もお疲れ様でした!
この記事へのコメント・お問い合わせフォームはいつでも大歓迎です。

Goodbye, Terminal… swaponQでした!