使用Python實現列表元素的二分查詢

2022-08-02 09:06:16 字數 788 閱讀 1160

# coding=utf-8

'''順序表的二分查詢法

'''def twosearch(item,element):

'''遞迴呼叫實現順序表的二分查詢

:param item:

:param element:

:return:

'''n = len(item) # 列表的長度

# todo 遞迴的結束條件,元素並不存在,擷取到最後列表為空,n為0,此時結束遞迴,返回false

if n > 0:

mid = n//2 # 列表的中間元素

if element == item[mid]: # 判斷所要查詢的元素是否與列表的中間元素相等

return true

elif element < item[mid]: # 如果元素小於中間元素,在列表的左半部分查詢

return twosearch(item[:mid],element) # 呼叫自身,傳入的前半部分的列表

else:

# 列表的切割操作是前包括後不包括

return twosearch(item[mid+1:],element) # 切割列表的後半部分,

return false

if __name__ == '__main__':

testlist = [0, 1, 2, 8, 13, 17, 19, 32, 42]

print(twosearch(testlist, 2))

print(twosearch(testlist, 100))

python刪除列表元素 Python列表元素分組

比如列表 0,0,0,1,1,2,3,3,3,2,3,3,0,0 分割成 0,0,0 1,1 2 3,3,3 2 3,3 0,0 如何解決這樣的問題呢?1 首先說明,如果這樣的題目都不能寫出 原因在基本的迴圈判斷沒有搞清楚。2 黃哥在如何訓練自己的程式設計思路 文章所說的,做習題,要像開發專案的流程...

python列表元素移動 Python列表元素分組

比如列表 0,0,0,1,1,2,3,3,3,2,3,3,0,0 分割成 0,0,0 1,1 2 3,3,3 2 3,3 0,0 如何解決這樣的問題呢?1 首先說明,如果這樣的題目都不能寫出 原因在基本的迴圈判斷沒有搞清楚。2 黃哥在如何訓練自己的程式設計思路 文章所說的,做習題,要像開發專案的流程...

Python 列表元素統計

列表元素統計方法 1.使用字典 對列表元素進行一次遍歷,將結果保留在字典中 2.使用集合和內建函式 將列表轉化為集合,得到所有不同元素,對不同元素呼叫 list.count item 以統計次數 第二種方法的簡單應用 coding utf 8 question 有乙個數字列表,找出列表 現次數超過列...