開發者筆記 二分法查詢

2021-09-20 12:34:06 字數 1384 閱讀 2122

剛看到一篇部落格說現在90%的程式設計師都無法正確的寫出二分法查詢,嚇得我趕緊試了試

#python code

def binary_serach(arr,st,end,tar):

mid = st + end

mid = mid // 2

if st > end:

return false

elif tar == arr[mid]:

return true

elif tar < arr[st] or tar > arr[end]:

return false

elif tar < arr[mid]:

return binary_serach(arr,st,mid,tar)

elif tar > arr[mid]:

return binary_serach(arr,mid+1,end,tar)

else:

return false

if __name__ == "__main__":

l = [1,3,5,6,8,9,12,15,17,23,45]

print(l)

print("target: %s, result: %s" % (0, binary_serach(l, 0, len(l) - 1, 0)))

print("target: %s, result: %s" % (1, binary_serach(l, 0, len(l) - 1, 1)))

print("target: %s, result: %s" % (2, binary_serach(l, 0, len(l) - 1, 2)))

print("target: %s, result: %s" % (3, binary_serach(l, 0, len(l) - 1, 3)))

print("target: %s, result: %s" % (23, binary_serach(l, 0, len(l) - 1, 23)))

print("target: %s, result: %s" % (45, binary_serach(l, 0, len(l) - 1, 45)))

print("target: %s, result: %s" % (46, binary_serach(l, 0, len(l) - 1, 46)))

下面是測試結果

那麼我還沒忘

技術發展那麼快,一次又一次的迭代,到頭來發現,還是頸椎病對我們不離不棄。

活動脖子,天天code

那麼今天就愉快的下班了吧

黑夜給了我黑色的眼睛,我卻用它尋找光明

開發者筆記 二分法查詢

剛看到一篇部落格說現在90 的程式設計師都無法正確的寫出二分法查詢,嚇得我趕緊試了試 python code def binary serach arr,st,end,tar mid st end mid mid 2 if st end return false elif tar arr mid r...

C 二分法查詢,遞迴二分法

用二分法來求需要查詢的值.includeusing namespace std 查詢key元素是否存在 int findkey const int buf 100 const int ilen,const int key else right left mid 1 查詢失敗 return 1 查詢k...

python二分法查詢 Python 二分法查詢

二分法查詢主要的作用就是查詢元素 lst 1,3,5,7,12,36,68,79 資料集 百萬級資料 num int input 請輸入你要查詢的元素資訊 for el in lst if num el print 存在 break else print 不存在 len lst 0 1 2 3 4 ...