From 1e72ad094573cd315bb433bb07d158a43b44d908 Mon Sep 17 00:00:00 2001
From: DIALLO <mamadou.diallo4.etu@univ-lille.fr>
Date: Mon, 10 Mar 2025 11:31:35 +0100
Subject: [PATCH] =?UTF-8?q?r=C3=A9ponse=20des=20questions=200,=201,=202?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .idea/.name       |  1 +
 tp_2_miso_dict.py | 66 ++++++++++++++++++++++++++++-------------------
 2 files changed, 40 insertions(+), 27 deletions(-)
 create mode 100644 .idea/.name

diff --git a/.idea/.name b/.idea/.name
new file mode 100644
index 0000000..97c6977
--- /dev/null
+++ b/.idea/.name
@@ -0,0 +1 @@
+tp_2_miso_mphf.py
\ No newline at end of file
diff --git a/tp_2_miso_dict.py b/tp_2_miso_dict.py
index 35c7449..31eb415 100644
--- a/tp_2_miso_dict.py
+++ b/tp_2_miso_dict.py
@@ -1,3 +1,5 @@
+from re import search
+
 import matplotlib.pyplot as plt
 import numpy as np
 import time
@@ -9,46 +11,56 @@ import sys
 
 def experiment_load_factor(load_factors):
 	"""
-	Étude du facteur de charge
+	Etude l'inmpact du facteur de charge sur les performances d'un dictionnaire Python.
+	Mesure les temps d'insertion, de recherche et de suppression pour différents facteurs de charge.
+	Returns:
+		insetion_times: liste contenant les temps d'insertion (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
 	"""
-	insertion_times = []
-	search_times = []
-	deletion_times = []
 
+	# 1- Initialisation des listes pour stocker les résultats
+	insertion_times = []  # Temps d'insertion pour chaque facteur de charge
+	search_times = []  # Temps de recherche pour chaque facteur de charge
+	deletion_times = []  # Temps de suppression pour chaque facteur de charge
+
+	# 2. Boucle sur chaque facteur de charge donné en entrée
 	for load_factor in load_factors:
+		# Création d'un dictionnaire vide au départ
 		d = {}
-		size = int(10000 * load_factor)  # Taille de la structure en fonction du facteur charge
+
+		# 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()
 		for i in range(size):
 			key = str(i)
-		value = i
-		d[key] = value
-
-	insertion_time = time.time() - start_time
-	insertion_times.append(insertion_time)
-
-	# Mesure du temps de recherche
-	start_time = time.time()
-	for i in range(size):
-		key = str(i)
-		_ = d.get(key)  # Recherche de la clé
+			value = i
+			d[key] = value  # Insertion de la clé et de la valeur
+		insertion_time = time.time() - start_time
+		insertion_times.append(insertion_time)
 
-	search_time = time.time() - start_time
-	search_times.append(search_time)
+		# Mesure du temps de recherche
+		start_time = time.time()
+		for i in range(size):
+			key = str(i)
+			_ = d.get(key)  # Recherche de la clé
+		search_time = time.time() - start_time
+		search_times.append(search_time)
 
-	# Réiitialisation du dictionnaire pour la suppression
-	d = {str(i): i for i in range(size)}
+		# Réinitialisation du dictionnaire pour la suppression
+		d = {str(i): i for i in range(size)}
 
-	# Mesure du temps de suppression
-	start_time = time.time()
-	for i in range(size):
-		key = str(i)
-		del d[key]
-	deletion_time = time.time() - start_time
-	deletion_times.append(deletion_time)
+		# Mesure du temps de suppression
+		start_time = time.time()
+		for i in range(size):
+			key = str(i)
+			del d[key]  # Suppression de la clé
+		deletion_time = time.time() - start_time
+		deletion_times.append(deletion_time)
 
+	# Retour des résultats
 	return insertion_times, search_times, deletion_times
 
 
-- 
GitLab