立ち位置・仕様
- いろんなアルゴリズムをコピペできるように記録するのみ
- 最適化が目的でない
- たまにメモとして解説を残す
- 最低限でまとめる
- データを抽出しやすいように個別のIDを付与
- あるアルゴリズムにおいて、他のアルゴリズムが登場する際にはそのIDを付与
- IDは16進数表記
- なるべく最低限なパッケージで実装
- なるべく特殊なオブジェクト型は使用しない
TargetID
00.00.00.10
ReferenceID
二分探索(binary search)
def binarySearch(l, x):
low = 0
high = len(l)
while low <= high:
mid = low + (high - low) // 2
if l[mid] == x:
return mid
elif l[mid] < x:
low = mid + 1
else:
high = mid - 1
return -1
使用方法
l = [2,6,1,8,10,7,3,5]
print(binarySearch(l, 8)) # 3