voici une fonction qui effectue une recherche dichotomique sur une liste d element exemple la liste ['a','b','c','d','e','f','g'] etc nb il faut que la liste soit trie le recherche dichotomique n est efficace qu cette condition
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 def dicho(chaine,recherche): """recherche un element dans une liste d element""" i=len(chaine) flag=False while(i!=1): i/=2 if recherche>chaine[i]: if recherche==chaine[i]: flag= True else: chaine=chaine[i:] i=len(chaine) ##print chaine else: if recherche==chaine[i]: flag=True else: chaine=chaine[:i] i=len(chaine) ##print chaine return flag ##deux exemples dicho(list("chaine"),"a");dicho([1,2,3,4,5,6],9)
Partager