線型探索

出典: フリー百科事典『ウィキペディア(Wikipedia)』

線型探索せんけいたんさく)は、検索アルゴリズムの一つ。

リスト配列に入ったデータに対する検索を行うにあたって、 先頭から順に比較を行い、それが見つかれば終了する。

<math>n</math>個のデータから<math>m</math>個のデータを検索する場合、 時間計算量は<math>O(nm)</math>、空間計算量は<math>O(1)</math>必要となる。

[編集] アルゴリズムの流れ

下のような7個のデータを持つリストがある。このときに今要素1がどこにあるか、検索したい。

107126143

線型探索では、

  • 最初の要素である10を見る。
  • 10は1ではないので、次の要素7を見る。
  • 7は1ではないので、次の要素12を見る。
  • 12は1ではないので、次の要素6を見る。
  • 6は1ではないので、次の要素1を見る。1を見つけることができた。

最悪のケースは、このリストの場合、要素3を見つけるときで、7個のデータ全てを見ないと、見つけることができない。 つまり、n個のデータから1個のデータを検索する場合に最悪<math>O(n)</math>の計算時間を要することとなる。

[編集] プログラム例

def search(list, x):
    found = 0
    for item in list:
        if item == x:
            found = 1
            break
    return found

ことばこって?

「ことばこ」は、歴史の人物から最先端テクノロジーまで、なんでも調べられるオンライン百科事典です。ウィキペディア財団が運営を行なっているwikipedia.orgから引用をしています。

おススメサイト
トラブログ
アレどう?
アフィリエイトB