利用Python寫的二分法查詢演算法及測試

2021-05-25 10:53:18 字數 834 閱讀 6015

2011-05-21

#二分法查詢  版本 python 3.1

lis=list(range(11))  #用於存放查詢的資料(1~6)

print(lis)

lenth=len(lis)

half=int(lenth/2)

def halfsearch(num):

isfound = false

for i in range(half+1):

if num in lis[:half+1]:  #在[0,half]中查詢.

print('num %f already found in front part!/n',num)

isfound = true

break

elif not isfound:        #若未找到,則在[half+1,結尾]查詢.

for i in range(half+1,lenth+1):

if num in lis[half+1:]:

print('num %f already found in back part!/n' % num)

isfound = true

break

if not isfound:

print('num %f not found!/n' % num)

def testhalfsearch(num):

print('found %f consistence :' % num)

halfsearch(num)

print('test the half search:/n中二分查詢測試')

testhalfsearch(10)

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 二分法查詢

二分法演算法原理 陣列是有序陣列,確定該期間的中間位置center 將查詢的值key與array center 比較。若相等,查詢成功返回此位置 否則確定新的查詢區域,繼續二分查詢。新區域的確定 如果key arrey center 則起始位置變為center 1,結束位置不變 如果key 每一次查...

python二分法查詢

二分查詢又稱折半查詢,優點是比較次數少,查詢速度快,平均效能好 其缺點是要求待查表為有序表,且插入刪除困難。因此,折半查詢方法適用於不經常變動而查詢頻繁的有序列表。首先,假設表中元素是按公升序排列,將表中間位置記錄的關鍵字與查詢關鍵字比較,如果兩者相等,則查詢成功 否則利用中間位置記錄將表分成前 後...