聚會遊戲,乙個人想乙個數,其他人來猜,然後告訴你猜大了還是小了,直到猜到這個數。
二分法和猜數遊戲類似,只不過猜的時候一定猜最中間的那個數,折半查詢所需內容,就陣列來說,陣列越長,梯度下降越快,二分查詢優勢越明顯。
python**如下:
1defbinary_search(list, item):
2 low =0
3 high = len(list)-1 #
tracking list head and tail
4 n =0
5while low <=high:
6 mid = int((low + high)/2) #
take the middle number
7 guess =list[mid]
8 n += 1
9if list[mid]==item:
10print
(n)11
return
mid12
if list[mid]#
change the head and tail pointers
13 low = mid + 1
14else
:15 high = (mid-1)
16return
none
1718 m=[1,2,3,4,8,9,11,12,14,18,19,20,28]
19print(binary_search(m,14))
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 ...
python實現二分法查詢
搜尋是在乙個專案集合中找到乙個特定專案的演算法過程。搜尋通常的答案是真的或假的,因為該專案是否存在。搜尋的幾種常見方法 順序查詢 二分法查詢 二叉樹查詢 雜湊查詢 二分查詢又稱折半查詢,優點是比較次數少,查詢速度快,平均效能好 其缺點是要求待查表為有序表,且插入刪除困難。因此,折半查詢方法適用於不經...
用python實現二分法
二分法查詢,也稱為折半法,是一種在有序陣列中查詢特定元素的搜尋演算法。二分法查詢的思路如下 1 首先,從陣列的中間元素開始搜尋,如果該元素正好是目標元素,則搜尋過程結束,否則執行下一步。當目標數大於中間數時,設定low下標等於中間數下標 1,h不變,在此區間進行查詢 當目標數小於中間數時,low不變...