python實現二分查詢演算法

2022-07-24 05:27:11 字數 576 閱讀 7159

二分演算法採用分而治之的思想,演算法思路比較簡單,便直接附上一端**

def

binarysearch(ll,x):

length =len(ll)

height = length-1ini =0

while ini <=height:

mid = (ini + height) // 2findx =ll[mid]

if findx ==x:

return

mid

if findx #中間數比待找值小

ini = mid + 1

if findx >x:

height = mid - 1

return

none

al = [1,2,3,4,5,6,7]

print("

is 3 :

" + str(binarysearch(al,3)))

print("

is 9 :

" + str(binarysearch(al,9)))

上述**便是乙個陣列二分查詢演算法的具實現。

查詢演算法 二分查詢python實現

二分查詢 時間複雜度為o logn 空間複雜度為o 1 二分查詢也叫做折半查詢,是一種在有序陣列中查詢某一特定元素的查詢演算法。查詢過程從中間元素開始。如果中間元素正好是要查詢的元素,則查詢過程結束。def binary search1 arr,value binary search1 尋找與val...

二分查詢演算法python實現

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

二分查詢演算法之python實現

二分查詢也叫折半查詢,通過不斷比較目標元素與乙個有序序列 注意是有序序列 中間元素的值,達到每次查詢都能排除一半元素的一種演算法。python實現如下 usr bin python coding utf 8 import random unsortedlist generate an unsorte...