Merge branch 'master' of githubu:GeoffreyFrogeye/tp-info
This commit is contained in:
commit
2267e133c5
|
@ -66,9 +66,14 @@ def seqTrie(l, a, b, x): # Jean-loup
|
|||
def dicho(l, a, b, x): # Geoffrey
|
||||
"""
|
||||
list, int, int, a → (bool, int)
|
||||
Renvoie la position d'un élément x dans la liste l
|
||||
aux bornes a et b par dichotomie.
|
||||
Renvoie un tuple contenant un booléen indiquant si l'élément x est dans la liste l entre les
|
||||
bornes [a, b[, ainsi que sa position le cas échéant, -1 sinon, par dichotomie.
|
||||
CU : l une liste, a et b des ints tels que 0 ≤ a < b ≤ len(l)
|
||||
"""
|
||||
assert(type(l) == list), "l doit être une liste"
|
||||
assert(type(a) == type(b) == int), "a et b doivent être des ints"
|
||||
assert(0 <= a < b <= len(l)), "Il faut que 0 ≤ a < b ≤ len(l)"
|
||||
|
||||
a = d
|
||||
f = b - 1
|
||||
while d < f:
|
||||
|
@ -77,7 +82,8 @@ def dicho(l, a, b, x): # Geoffrey
|
|||
d = m+1
|
||||
else:
|
||||
f = m
|
||||
return x == l[d]
|
||||
est_dedans = x == l[d]
|
||||
return (est_dedans, d if x == l[d] else -1)
|
||||
|
||||
question(2) # Utiliser LEXIQUE
|
||||
|
||||
|
@ -85,6 +91,18 @@ from lexique import *
|
|||
|
||||
squestion('a') # Vérifier que LEXIQUE est triée
|
||||
|
||||
def est_trie(l):
|
||||
"""
|
||||
list → bool
|
||||
Indique si la liste l est triée dans l'ordre croissant
|
||||
"""
|
||||
for i in range(len(l)-1):
|
||||
if not l[i] < l[i+1]:
|
||||
return False
|
||||
return True
|
||||
|
||||
print("Le test indiquant si LEXIQUE est trié retourne %s" % est_trie(LEXIQUE))
|
||||
|
||||
squestion('b') # Effectuer de nombreuses recherches de LEXIQUE
|
||||
# et comparer les temps d'éxécution selon les
|
||||
# algorithmes utilisés
|
Reference in a new issue