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
Branches
No related tags found
No related merge requests found
...@@ -18,6 +18,14 @@ def experiment_load_factor(load_factors): ...@@ -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. 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
...@@ -26,17 +34,28 @@ def experiment_load_factor(load_factors): ...@@ -26,17 +34,28 @@ 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)
=======
# Mesure du temps d'insertion d = {} # Dictionnaire vide
start_time = time.time() 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): 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)
...@@ -51,6 +70,28 @@ def experiment_load_factor(load_factors): ...@@ -51,6 +70,28 @@ 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()
...@@ -60,8 +101,12 @@ def experiment_load_factor(load_factors): ...@@ -60,8 +101,12 @@ 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