簡單的查詢演算法來啦!二分查詢 Python

2021-10-06 20:41:15 字數 975 閱讀 7111

一、二分查詢簡介

二、**實現

一、二分查詢簡介 二分查詢是非常簡單的一種查詢方法,它接收乙個列表和乙個元素,如果這個元素在這個列表裡,就返回該元素所在的位置,否則返回none。

二分查詢也可以說是折半查詢,它每次能排除一般的資料。一般而言,對於n個元素的列表,用二分查詢最多需要logn步

它的具體過程如下:

1、設立low和high分別指向列表的第乙個和最後乙個元素,mid=(low+high)/2

2、檢視mid所指向的元素和我們要查詢的元素a的大小,如果mid= high

二、**實現

def

binary_search

(list

,item)

: low=

0 high=

len(

list)-

1while low<=high:

mid =

(low + high)//2

# 向下取整

py 二分查詢

查詢 在一些資料元素中,通過一定的方法找出與關鍵字相同元素的過程,列表查詢 從列表中查詢指定元素 輸入 列表 待查詢元素 輸出 元素下標 未找到元素時一般返回none或 1 內建列表查詢函式 index 順序查詢 線性查詢,從列表的第乙個元素開始,順序進行搜尋,直到找到元素或搜尋到列表的最後乙個元素...

查詢演算法 二分查詢

利用二分查詢演算法查詢某乙個元素,前提條件是該被查詢的元素是乙個已經有序的陣列。二分查詢的思想是將陣列元素的最高位 high 和最低位 low 進行標記,取陣列元素的中間 mid 和和要查詢的值 key 進行比較,如果目標值比中間值要大,則將最低位設定為mid 1,繼續進行查詢。如果目標值小於中間值...

查詢演算法 二分查詢

二分查詢的思路是很簡單的,前提是這組資料是有順序的。思路是從中間找乙個數,判斷大小,如果數比中間數大,說明在中間數到結尾的數中,如果小於,則說明在開始和中間數之間,經過多次相同操作,就可以得到我們想查詢的數時間複雜度就是 o logn 非遞迴的實現 const testarr let i 0whil...