ajout code python dichotomie

This commit is contained in:
2022-03-31 10:57:53 +02:00
parent 28fe500246
commit 149e95252b

View File

@@ -104,21 +104,28 @@ La recherche dichotomique est donc de complexité ***logarithmique***.
### Terminaison
Pour vérifier que la recherche dichotomique se termine bien, regardons ensemble son code python :
Pour vérifier que la recherche dichotomique se termine bien, regardons ensemble son code python - on suppose que le tableau en entrée est déjà trié.
````python
def dichotomique (tab, x)
```
:param res: booléen qui indique si un élèment x se trouve ou non dans le tableau tab
:param tab: tableau contenant différents élèments déjà triés
:param x: élèment recherché
```
pass
a = 0 # on initialise la borne inférieure
b = len(tab) - 1 # borne supérieure
while a <= b: # tant que la borne inférieure est plus petite ou égale à la borne supérieure
m = (a + b) // 2 # on se place au milieu du tableau
if tab[m] == x: # si l'élément central est l'élément recherché
return True # alors on a terminé
elif tab[m] < x: # si l'élément central est plus petit que l'élément recherché
a = m + 1 # on déplace la borne minimum vers la sous-partie droite du tableau
else: #si l'élement central n'est ni plus petit ni égal à l'élément recherché, donc s'il est >...
b = m - 1 #on déplace la borne supérieure vers la sous-partie gauche
#si après tout ça on ne trouve pas l'élément...
return False
````
-----------
Exercices :