Skip to content
Snippets Groups Projects
Commit fc94aff5 authored by Tristan TOLENTINO's avatar Tristan TOLENTINO
Browse files

question 3, 4, 5

parent ba9590c7
No related branches found
No related tags found
No related merge requests found
...@@ -14,21 +14,38 @@ def experiment_load_factor(load_factors): ...@@ -14,21 +14,38 @@ def experiment_load_factor(load_factors):
insertion_times = [] insertion_times = []
search_times = [] search_times = []
deletion_times = [] deletion_times = []
num_resizes = []
sizes = []
for load_factor in load_factors: for load_factor in load_factors:
d = {} d = {} # Dictionnaire vide
size = int(10000 * load_factor) # Taille de la structure en fonction du facteur charge size = int(10000 * load_factor) # Taille de la structure en fonction du facteur charge
# Mesure du temps d'insertion num_elements = 0 # Nombre d'éléments
start_time = time.time() num_resize = 0 # Nombre de réallocations de mémoire
last_size = sys.getsizeof(d) # Taille initiale du dictionnaire
start_time = time.time() # Mesure du temps d'insertion
# Insertion des éléments dans le dictionnaire
for i in range(size): for i in range(size):
key = str(i) key = str(i)
value = i value = i
d[key] = value d[key] = value
num_elements += 1
insertion_time = time.time() - start_time
insertion_times.append(insertion_time) # Vérifier le nombre de réallocations mémoire
current_resize = sys.getsizeof(d)
if current_resize > last_size:
num_resize += 1
last_size = current_resize
insertion_time = time.time() - start_time
insertion_times.append(insertion_time)
num_resizes.append(num_resize)
sizes.append(last_size)
# Mesure du temps de recherche # Mesure du temps de recherche
start_time = time.time() start_time = time.time()
for i in range(size): for i in range(size):
...@@ -49,7 +66,7 @@ def experiment_load_factor(load_factors): ...@@ -49,7 +66,7 @@ def experiment_load_factor(load_factors):
deletion_time = time.time() - start_time deletion_time = time.time() - start_time
deletion_times.append(deletion_time) deletion_times.append(deletion_time)
return insertion_times, search_times, deletion_times return insertion_times, search_times, deletion_times, num_resizes, sizes
def experiment_longest(): def experiment_longest():
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment