From 9dfae19853c601c5ad362e97ca934ac827ce6d74 Mon Sep 17 00:00:00 2001
From: Soltane Maxime <maxime.soltane.etu@a13p12.fil.univ-lille.fr>
Date: Thu, 13 Feb 2025 10:48:00 +0100
Subject: [PATCH] construction_mphf

---
 tp_2_miso_mphf.py | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/tp_2_miso_mphf.py b/tp_2_miso_mphf.py
index 960be8e..7dce646 100644
--- a/tp_2_miso_mphf.py
+++ b/tp_2_miso_mphf.py
@@ -33,21 +33,35 @@ def construction_mphf(set_kmer, n, gamma=2, nb_niveaux=3):
 	True
 	"""
 	# Initialisation
+	# on copie le contenu de set_kmer dans set_kmer_courant
 	set_kmer_courant = set_kmer.copy()
+	# on crée un tableau vide
 	tableaux = []
+	# structure vide qui contiendra les collisions
 	collision = set()
+	# on parcours tous les niveaux
 	for _ in range(nb_niveaux):
+		# si la longueur du nombre de k_mers est positive == verifie que la liste n'est pas vide
 		if len(set_kmer_courant) > 0:
+			# on définit la longueur de la liste as l
 			l = len(set_kmer_courant)
+			# on initialise un tableau (une place pour chaque valeur) de taille double (gamma = 2) par rapport au nombre de valeurs
 			tableau_principal = [-1] * (gamma * l)
+			# on parcourt la liste de k_mers
 			for kmer in set_kmer_courant:
 				pass # compléter
 				# hacher le k-mer (attention, hash() peut rendre des entiers signés, nous voulons des entiers positifs)
+				h = abs(hash(kmer))
 				# récupérer l'adresse
+				adresse = None
 				# si le tableau principal est déjà rempli à l'adresse:
+				if adresse :
 					# mettre le kmer dans collision()
+					collision.add(h)
 					#sinon, écrire le hash à l'adresse dans le tableau principal
-
+				else : 
+					tableau_principal[adresse] = h
+			
 			tableaux.append(tableau_principal) # expliquer
 			set_kmer_courant = collision.copy() # expliquer
 			collision = set() # expliquer
-- 
GitLab