A社の佐伯さんがのらりくらりと

A社の佐伯さんがのらりくらりと。インターネットと少しだけ生活のこと。

【アルゴリズムの勉強】Pythonで線形探索を書いてみた

学習エントリ。

Pythonで線形探索を実装する。

線形探索ってなんぞ

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

線型探索 - Wikipedia

# coding: utf-8

example_list = [5,2,10,1,18,3,7,4]
target = 18

def linear_search(list,taget): 
	result = 0
	index = 0
	for x in xrange(0,len(list)):
		if list[x] == target:
			result = 1
			index = x
			break
	if result == 1:
		return str(target) + "はリストの" + str(index) + "番目にあったよ"
	else:
		return str(target) + "はリストには無かったよ"
    
print(linear_search(example_list,target)) ##18はリストの4番目にあったよ

楽に書けた
targetが複数あった場合の処理は別途必要