Merge branch 'master' of githubu:GeoffreyFrogeye/tp-info

This commit is contained in:
Geoffrey Frogeye 2015-02-24 11:03:04 +01:00
commit 07df5749a3

View file

@ -29,6 +29,7 @@ def seq(l, a, b, x): # Jean-loup
""" """
Recherche séquentielle de l'élément x dans la liste l, entre les borne a et b, b étant exclu Recherche séquentielle de l'élément x dans la liste l, entre les borne a et b, b étant exclu
list(x), int, int, x (bool, int) list(x), int, int, x (bool, int)
Renvoie True et l'emplacement de x dans l, si x a été trouvé, sinon (False, 0)
CU: 0 <= a < b <= len(l) CU: 0 <= a < b <= len(l)
""" """
@ -44,7 +45,23 @@ def seq(l, a, b, x): # Jean-loup
return (False, 0) return (False, 0)
def seqTrie(l, a, b, x): # Jean-loup def seqTrie(l, a, b, x): # Jean-loup
return None """
Recherche séquentielle de l'élément x dans la liste l triée, entre les bornes a et b, b étant exclu
list(x), int, int, x (bool, int)
Renvoie True et l'emplacement de x dans l, si x a été trouvé, sinon (False, 0)
CU: l est triée et 0 <= a < b <= len(l)
"""
assert(a >=0 and b > a and b <= len(l))
i=a
while i < b and l[i] < x:
i +=1
if i < b and l[i] == x:
return (True, i)
else:
return (False, 0)
def dicho(l, a, b, x): # Geoffrey def dicho(l, a, b, x): # Geoffrey
""" """
@ -92,7 +109,7 @@ LEXIQUE_TRIE.sort()
print("Le test indiquant si LEXIQUE_TRIE est trié retourne %s." % est_trie(LEXIQUE_TRIE)) print("Le test indiquant si LEXIQUE_TRIE est trié retourne %s." % est_trie(LEXIQUE_TRIE))
squestion('b') # Effectuer de nombreuses recherches de LEXIQUE squestion('b') # Effectuer de nombreuses recherches dans LEXIQUE
# et comparer les temps d'éxécution selon les # et comparer les temps d'éxécution selon les
# algorithmes utilisés # algorithmes utilisés
@ -105,4 +122,4 @@ taille = len(LEXIQUE)
for n in range(NB_ELEMENTS): for n in range(NB_ELEMENTS):
elements.append(LEXIQUE[randint(0, taille)]) elements.append(LEXIQUE[randint(0, taille)])
# #