バイナリナビゲーション
1010 ワード
1.概念
2.コード
def binary_search(data, search):
print(data)
if len(data) == 1 and data[0] == search:
return True
if len(data) == 1 and data[0] != search:
return False
if len(data) == 0:
return False
medium = len(data) // 2
if data[medium] == search:
return True
else:
if search > data[medium]:
return binary_search(data[medium:], search)
else:
return binary_search(data[:medium], search)
3.時間複雑度
n個のリストをk回比較し,毎回2を1で割った.
n x 1/2 x 1/2 ... = 1
nx(1/2のk平方)=1
n=2のk二乗
k = logn
bigoマーキング法を用いて,k+1は最終時間複雑度,最終的にO(logn)であった.
Reference
この問題について(バイナリナビゲーション), 我々は、より多くの情報をここで見つけました https://velog.io/@wnsgur9701/이진-탐색テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol