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

questions 0, 1, 2

parents 1e72ad09 fc94aff5
No related branches found
No related tags found
No related merge requests found
......@@ -18,6 +18,14 @@ def experiment_load_factor(load_factors):
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
"""
<<<<<<< HEAD
=======
insertion_times = []
search_times = []
deletion_times = []
num_resizes = []
sizes = []
>>>>>>> fc94aff5c4caa0fed88d8b59d4bb2e9020f8a476
# 1- Initialisation des listes pour stocker les résultats
insertion_times = [] # Temps d'insertion pour chaque facteur de charge
......@@ -26,17 +34,28 @@ def experiment_load_factor(load_factors):
# 2. Boucle sur chaque facteur de charge donné en entrée
for load_factor in load_factors:
<<<<<<< HEAD
# Création d'un dictionnaire vide au départ
d = {}
# Calcul de la taille du dictionnaire en fonction du facteur de charge
size = int(10000 * load_factor)
# Mesure du temps d'insertion
start_time = time.time()
=======
d = {} # Dictionnaire vide
size = int(10000 * load_factor) # Taille de la structure en fonction du facteur charge
>>>>>>> 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):
key = str(i)
value = i
<<<<<<< HEAD
d[key] = value # Insertion de la clé et de la valeur
insertion_time = time.time() - start_time
insertion_times.append(insertion_time)
......@@ -51,6 +70,28 @@ def experiment_load_factor(load_factors):
# Réinitialisation du dictionnaire pour la suppression
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
start_time = time.time()
......@@ -60,8 +101,12 @@ def experiment_load_factor(load_factors):
deletion_time = time.time() - start_time
deletion_times.append(deletion_time)
<<<<<<< HEAD
# Retour des résultats
return insertion_times, search_times, deletion_times
=======
return insertion_times, search_times, deletion_times, num_resizes, sizes
>>>>>>> fc94aff5c4caa0fed88d8b59d4bb2e9020f8a476
def experiment_longest():
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment