二分法python實現

2021-08-20 04:27:49 字數 846 閱讀 2744

聚會遊戲,乙個人想乙個數,其他人來猜,然後告訴你猜大了還是小了,直到猜到這個數。

二分法和猜數遊戲類似,只不過猜的時候一定猜最中間的那個數,折半查詢所需內容,就陣列來說,陣列越長,梯度下降越快,二分查詢優勢越明顯。

python**如下:

1

defbinary_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不變...