Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | Dernière révision Les deux révisions suivantes | ||
tris_dictionnaire_francais [2011/09/16 06:24] tyrtamos |
tris_dictionnaire_francais [2011/09/16 06:50] tyrtamos |
||
---|---|---|---|
Ligne 167: | Ligne 167: | ||
if key == None: | if key == None: | ||
key = lambda c: c | key = lambda c: c | ||
- | x = key(x) | ||
if comp(x, | if comp(x, | ||
return [1,j] | return [1,j] | ||
Ligne 201: | Ligne 200: | ||
En cas de doublon dans la liste: | En cas de doublon dans la liste: | ||
- | |||
* si on cherche le doublon et qu'on le trouve, on trouve celui d' | * si on cherche le doublon et qu'on le trouve, on trouve celui d' | ||
* si on cherche une valeur juste inférieure au doublon, on trouve aussi le doublon d' | * si on cherche une valeur juste inférieure au doublon, on trouve aussi le doublon d' | ||
+ | |||
+ | Attention, le mot cherché n'est pas corrigé par key: il faut le corriger vous-même avant l' | ||
+ | |||
+ | ===== Recherche rapide par dichotomie dans une liste indexée triée ===== | ||
+ | |||
+ | Dans une liste indexée triée, on va utiliser la même recherche par dichotomie: | ||
+ | |||
+ | <code python> | ||
+ | L = [u' | ||
+ | ind = [1, | ||
+ | |||
+ | print dichot(u" | ||
+ | [0, 3] | ||
+ | </ | ||
+ | |||
+ | Ce qui est le résultat correct donné par [0, 3]: | ||
+ | * 0 => le mot a été trouvé | ||
+ | * 3 => il est là: L[ind[3]]=u' | ||
+ | |||
+ | Avec Python 3.x, on utilise la même formule. | ||
\\ | \\ |