Heim  >  Artikel  >  Backend-Entwicklung  >  Rekursive Implementierung des binären Python-Suchalgorithmus

Rekursive Implementierung des binären Python-Suchalgorithmus

高洛峰
高洛峰Original
2017-03-02 17:00:042428Durchsuche

Das Beispiel in diesem Artikel beschreibt die rekursive Implementierungsmethode des binären Suchalgorithmus von Python. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Hier ist ein binärer Suchcode:

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))

Vor kurzem gefiel mir die Einfachheit und Klarheit der Rekursion, deshalb habe ich sie auf die rekursive Methode umgestellt:

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) #找前半部分

Der Test wurde bestanden.


Weitere Artikel zur rekursiven Implementierung des binären Python-Suchalgorithmus finden Sie auf der chinesischen PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn