剛看到一篇部落格說現在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 ...