Python學習總結 二分法

2021-08-28 09:24:50 字數 547 閱讀 9936

應用

def insert_sort(orderlist, i):

ret = orderlist[:]

low = 0

high = len(ret) # 因為有整除,所以去掉減1,不影響整除2,但影響下一行判斷。防止大於所有數的插入有問題

while low < high: # 如果改為<= ,雖然最大數能滿足 ,但最小數會出現死迴圈問題

mid = (low+high) // 2

if i > orderlist[mid]:

low = mid + 1

else:

high = mid

ret.insert(low,i)

return ret

import bisect

def scores(score):

lst = [60,70,80,90]

clas = 'edcba'

return clas[bisect.bisect(lst,score)]

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 ...

二分法 總結

1 二分查詢 binarysearch 二分查詢又稱折半查詢,它是一種效率較高的查詢方法。二分查詢要求 線性表是有序表,即表中結點按關鍵字有序,並且要用向量作為表的儲存結構。不妨設有序表是遞增有序的。2 二分查詢的基本思想 二分查詢的基本思想是 設r low,high 是當前的查詢區間 1 首先確定...

二分法細節總結

二分法的思想很容易理解,但是細節處理卻是乙個難點。很容易就容易出錯。這裡總結一下這些細節。區間為 left,right 情況 右邊指標取不到元素 初始化 left 0 right arr.length 迴圈條件 left right 注意事項 left 的更新是取到值的情況 right的更新是不取到...