【Python_034】アルゴリズム|二分法
このブログではPythonによる二分法を紹介します.アルゴリズムシロはアルゴリズムの研究を始め、二分法から入門したほうがいい.書籍リファレンス:『アルゴリズム図解』
コンセプト
二分検索はアルゴリズムで、入力は秩序化された要素リストです.検索する要素がリストに含まれている場合、二分検索はその位置を返します.そうでなければnullを返します
一般に,n個の要素を含むリストでは,二分検索で最大log 2 nステップ,単純検索で最大nステップが必要である.
コード実装
コンセプト
二分検索はアルゴリズムで、入力は秩序化された要素リストです.検索する要素がリストに含まれている場合、二分検索はその位置を返します.そうでなければnullを返します
一般に,n個の要素を含むリストでは,二分検索で最大log 2 nステップ,単純検索で最大nステップが必要である.
コード実装
def binary_search(bucket:list, item:int)->int:
low = 0
high = len(bucket)-1
while low<=high:
mid = (low+high)//2
guess = bucket[mid]
if guess == item:
return mid
if guess > item:
high = mid -1
else:
low = mid+1
bucket = list(range(1,20))
binary_search(bucket,21)
'''
' '
'''
binary_search(bucket,12)
'''
11
'''