python二分查找算法的遞歸實(shí)現(xiàn)方法
本文實(shí)例講述了python二分查找算法的遞歸實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
這里先提供一段二分查找的代碼:
def binarySearch(alist, item): first = 0 last = len(alist)-1 found = False while first<=last and not found: midpoint = (first + last)//2 if alist[midpoint] == item: found = True else: if item < alist[midpoint]: last = midpoint-1 else: first = midpoint+1 return found testlist = [0, 1, 2, 8, 13, 17, 19, 32, 42,] print(binarySearch(testlist, 3)) print(binarySearch(testlist, 13))
近來(lái)喜歡遞歸的簡(jiǎn)單明了,所以修改成遞歸的方法:
def binSearch(lst, item): mid = len(lst) //2 found = False if lst[mid] == item: found = True return found if mid == 0: #mid等于0就是找到最后一個(gè)元素了。 found = False return found else: if item > lst[mid]: #找后半部分 #print(lst[mid:]) return binSearch(lst[mid:], item) else: return binSearch(lst[:mid], item) #找前半部分
測(cè)試通過(guò)。
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python正則表達(dá)式用法總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Django使用Channels實(shí)現(xiàn)WebSocket的方法
WebSocket是一種在單個(gè)TCP連接上進(jìn)行全雙工通訊的協(xié)議。WebSocket允許服務(wù)端主動(dòng)向客戶端推送數(shù)據(jù)。這篇文章主要介紹了Django使用Channels實(shí)現(xiàn)WebSocket,需要的朋友可以參考下2019-07-07
分析python動(dòng)態(tài)規(guī)劃的遞歸、非遞歸實(shí)現(xiàn)
本文小編給大家詳細(xì)分析了python動(dòng)態(tài)規(guī)劃的遞歸、非遞歸實(shí)現(xiàn)過(guò)程以及相關(guān)代碼,有興趣的朋友可以學(xué)習(xí)下。2018-03-03
python中使用ctypes調(diào)用so傳參設(shè)置遇到的問(wèn)題及解決方法
這篇文章主要介紹了python中使用ctypes調(diào)用so傳參設(shè)置,本文較詳細(xì)的給大家介紹了遇到問(wèn)題及解決方案,需要的朋友可以參考下2019-06-06
Python WEB應(yīng)用部署的實(shí)現(xiàn)方法
這篇文章主要介紹了Python WEB應(yīng)用部署的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
Python逐行讀取文件中內(nèi)容的簡(jiǎn)單方法
今天小編就為大家分享一篇關(guān)于Python逐行讀取文件中內(nèi)容的簡(jiǎn)單方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02
使用python腳本自動(dòng)創(chuàng)建pip.ini配置文件代碼實(shí)例
這篇文章主要介紹了使用python腳本自動(dòng)創(chuàng)建pip.ini配置文件代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09

