From fc94aff5c4caa0fed88d8b59d4bb2e9020f8a476 Mon Sep 17 00:00:00 2001
From: Tristan TOLENTINO <tristantolentino2605@yahoo.fr>
Date: Sun, 9 Mar 2025 20:47:04 +0100
Subject: [PATCH] question 3, 4, 5

---
 tp_2_miso_dict.py | 35 ++++++++++++++++++++++++++---------
 1 file changed, 26 insertions(+), 9 deletions(-)

diff --git a/tp_2_miso_dict.py b/tp_2_miso_dict.py
index 35c7449..7763987 100644
--- a/tp_2_miso_dict.py
+++ b/tp_2_miso_dict.py
@@ -14,21 +14,38 @@ def experiment_load_factor(load_factors):
 	insertion_times = []
 	search_times = []
 	deletion_times = []
+	num_resizes = []
+	sizes = []
 
 	for load_factor in load_factors:
-		d = {}
+		d = {} # Dictionnaire vide
 		size = int(10000 * load_factor)  # Taille de la structure en fonction du facteur charge
 
-		# Mesure du temps d'insertion
-		start_time = time.time()
+		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
-		d[key] = value
-
-	insertion_time = time.time() - start_time
-	insertion_times.append(insertion_time)
+			value = i
+			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):
@@ -49,7 +66,7 @@ def experiment_load_factor(load_factors):
 	deletion_time = time.time() - start_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():
-- 
GitLab