Skip to content
Snippets Groups Projects
Commit 6141fc05 authored by Mamadou Diallo's avatar Mamadou Diallo
Browse files

modification de la fonction experiment

parent f54b8177
Branches
No related tags found
No related merge requests found
...@@ -18,15 +18,6 @@ def experiment_load_factor(load_factors): ...@@ -18,15 +18,6 @@ def experiment_load_factor(load_factors):
search_times: Liste contenant les temps de recherchde (en secondes) pour chaque facteur de charge. search_times: Liste contenant les temps de recherchde (en secondes) pour chaque facteur de charge.
deletion_times: Liste contenant les temps de suppression (en secondes) pour chaque facteur de charge deletion_times: Liste contenant les temps de suppression (en secondes) pour chaque facteur de charge
""" """
<<<<<<< HEAD
=======
insertion_times = []
search_times = []
deletion_times = []
num_resizes = []
sizes = []
>>>>>>> fc94aff5c4caa0fed88d8b59d4bb2e9020f8a476
# 1- Initialisation des listes pour stocker les résultats # 1- Initialisation des listes pour stocker les résultats
insertion_times = [] # Temps d'insertion pour chaque facteur de charge insertion_times = [] # Temps d'insertion pour chaque facteur de charge
search_times = [] # Temps de recherche pour chaque facteur de charge search_times = [] # Temps de recherche pour chaque facteur de charge
...@@ -34,28 +25,17 @@ def experiment_load_factor(load_factors): ...@@ -34,28 +25,17 @@ def experiment_load_factor(load_factors):
# 2. Boucle sur chaque facteur de charge donné en entrée # 2. Boucle sur chaque facteur de charge donné en entrée
for load_factor in load_factors: for load_factor in load_factors:
<<<<<<< HEAD
# Création d'un dictionnaire vide au départ # Création d'un dictionnaire vide au départ
d = {} d = {}
# Calcul de la taille du dictionnaire en fonction du facteur de charge # Calcul de la taille du dictionnaire en fonction du facteur de charge
size = int(10000 * load_factor) size = int(10000 * load_factor)
=======
d = {} # Dictionnaire vide # Mesure du temps d'insertion
size = int(10000 * load_factor) # Taille de la structure en fonction du facteur charge start_time = time.time()
>>>>>>> fc94aff5c4caa0fed88d8b59d4bb2e9020f8a476
num_elements = 0 # Nombre d'éléments
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
<<<<<<< HEAD
d[key] = value # Insertion de la clé et de la valeur d[key] = value # Insertion de la clé et de la valeur
insertion_time = time.time() - start_time insertion_time = time.time() - start_time
insertion_times.append(insertion_time) insertion_times.append(insertion_time)
...@@ -70,28 +50,6 @@ def experiment_load_factor(load_factors): ...@@ -70,28 +50,6 @@ def experiment_load_factor(load_factors):
# Réinitialisation du dictionnaire pour la suppression # Réinitialisation du dictionnaire pour la suppression
d = {str(i): i for i in range(size)} d = {str(i): i for i in range(size)}
=======
d[key] = value
num_elements += 1
# 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
start_time = time.time()
for i in range(size):
key = str(i)
_ = d.get(key) # Recherche de la clé
>>>>>>> fc94aff5c4caa0fed88d8b59d4bb2e9020f8a476
# Mesure du temps de suppression # Mesure du temps de suppression
start_time = time.time() start_time = time.time()
...@@ -101,12 +59,10 @@ def experiment_load_factor(load_factors): ...@@ -101,12 +59,10 @@ 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)
<<<<<<< HEAD
# Retour des résultats # Retour des résultats
return insertion_times, search_times, deletion_times return insertion_times, search_times, deletion_times
=======
return insertion_times, search_times, deletion_times, num_resizes, sizes
>>>>>>> fc94aff5c4caa0fed88d8b59d4bb2e9020f8a476
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