La recherche dichotomique, également appelée recherche binaire, est un algorithme de recherche efficace qui permet de trouver rapidement un élément dans un tableau trié en divisant à chaque étape la plage de recherche en deux et en éliminant la moitié inutile.
L'algorithme de recherche dichotomique fonctionne comme suit :
A faire dans le cahier.
On considère la liste suivante : [3, 5, 8, 12, 15, 19, 23, 35, 42, 56, 60, 67, 70, 78, 91]
En faisant une recherche dichotomique :
Compléter la fonction ci-dessous :
def dichotomie(tab, x):
"""
tab : tableau d’entiers trié dans l’ordre croissant
x : nombre entier
La fonction renvoie True si tab contient x et False sinon
"""
debut = 0
fin = len(tab) - 1
while debut <= fin:
m = ...
if x == tab[m]:
return ...
if x > tab[m]:
debut = m + 1
else:
fin = ...
return ...
On pourra tester notre fonction avec cette liste :
[3, 5, 8, 12, 15, 19, 23, 35, 42, 56, 60, 67, 70, 78, 91]