Maison > développement back-end > Tutoriel Python > Implémentation récursive de l'algorithme de recherche binaire Python

Implémentation récursive de l'algorithme de recherche binaire Python

高洛峰
Libérer: 2017-03-02 17:00:04
original
2448 Les gens l'ont consulté

L'exemple de cet article décrit la méthode d'implémentation récursive de l'algorithme de recherche binaire Python. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Voici un code de recherche binaire :

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))
Copier après la connexion

Récemment, j'aime la simplicité et la clarté de la récursion, alors je l'ai changé en méthode récursive :

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) #找前半部分
Copier après la connexion

Le test a réussi.


Pour plus d'articles liés à l'implémentation récursive de l'algorithme de recherche binaire python, veuillez faire attention au site Web PHP chinois !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal