From b453f695f20b490624d1d64415b12824b46b027e Mon Sep 17 00:00:00 2001
From: University <younes@youness-MacBook-Pro.local>
Date: Thu, 27 Feb 2025 11:50:38 +0100
Subject: [PATCH] =?UTF-8?q?=C3=89tude=20du=20facteur=20de=20charge?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 tp_2_miso_dict.py | 22 ++++++++++++++++++++--
 tp_2_miso_mphf.py |  5 ++---
 2 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/tp_2_miso_dict.py b/tp_2_miso_dict.py
index 98d2a0c..bc8cd4d 100644
--- a/tp_2_miso_dict.py
+++ b/tp_2_miso_dict.py
@@ -11,8 +11,26 @@ def experiment_load_factor(load_factors):
 	"""
 	Étude du facteur de charge
 	"""
-	return [],[],[]
-
+	insertion_times = []
+	resizing = []
+	memory_sizes = []
+	for i in load_factors:
+		d = {}
+		start_time = time.perf_counter()
+		resizing_count = 0
+		last_memory_size = sys.getsizeof(d)
+		num_elements = int(i*100)
+		for j in range(num_elements):
+			d[j] = j
+			current_memory_size = sys.getsizeof(d)
+			if current_memory_size != last_memory_size :
+				resizing_count += 1
+				last_memory_size = current_memory_size
+		end_time = time.perf_counter()
+		insertion_times.append( end_time - start_time)
+		resizing.append(resizing_count)
+		memory_sizes.append(last_memory_size)
+	return insertion_times, resizing, memory_sizes
 def experiment_longest():
 	"""
 	TODO: que fait cette fonction
diff --git a/tp_2_miso_mphf.py b/tp_2_miso_mphf.py
index c805478..c48ed7e 100644
--- a/tp_2_miso_mphf.py
+++ b/tp_2_miso_mphf.py
@@ -7,7 +7,7 @@ import random
 
 ###### PARTIE 1 ######
 
-def construction_mphf(set_kmer:set[str], n:int, gamma:float=2, nb_niveaux:int=3) -> list[list[int]]:
+def construction_mphf(set_kmer:set[str], n:int, gamma:float=100, nb_niveaux:int=100) -> list[list[int]]:
 
 	"""
 	Construit une fonction de hachage minimale parfaite (MPHF) pour un ensemble de k-mers.
@@ -85,8 +85,7 @@ def get_hash_mphf(mphf, kmer):
 	mphf (list): Table de hachage minimale parfaite.
 	kmer (str): K-mer à hasher.
 
-	Returns:
-	int: Hash du k-mer.
+	Returns:	int: Hash du k-mer.
 
 	Examples:
 	>>> set_kmer = {str(i) for i in range(10)}
-- 
GitLab