熱線電話:13121318867

登錄
首頁精彩閱讀python二分查找算法的遞歸實現方法
python二分查找算法的遞歸實現方法
2017-10-11
收藏

python二分查找算法的遞歸實現方法

這篇文章主要介紹了python二分查找算法的遞歸實現方法,結合實例形式分析了Python二分查找算法的相關實現技巧,分享給大家供大家參考,具體如下:
這里先提供一段二分查找的代碼:    
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))

近來喜歡遞歸的簡單明了,所以修改成遞歸的方法:    
def binSearch(lst, item):
  mid = len(lst) //2
  found = False
  if lst[mid] ==
item:
 found = True
 return found
  if mid == 0:
#mid等于0就是找到最后一個元素了。
 found = False
 return found
  else:
 if item > lst[mid]: #找后半部分
   #print(lst[mid:])
   return
binSearch(lst[mid:], item)
 else:
   return
binSearch(lst[:mid], item) #找前半部分

測試通過。


數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢