Skip to content
Snippets Groups Projects
Commit 2e0c9575 authored by University's avatar University
Browse files

construction mphf

parent 1a82a12e
No related branches found
No related tags found
No related merge requests found
......@@ -46,7 +46,7 @@ def construction_mphf(set_kmer, n, gamma=2, nb_niveaux=3):
if tableau_principal[address] != -1:
collision.add(kmer)
else :
tableau_principal[address] = kmer
tableau_principal[address] = h
tableaux.append(tableau_principal) # Addition du tableau du dernier niveau dans un tableau contenant tous les tableaux des précédents niveaux
set_kmer_courant = collision.copy() # Création d'un set de kmer à partir des collisions pour créer tableau du niveau suivant
......@@ -58,17 +58,16 @@ def construction_mphf(set_kmer, n, gamma=2, nb_niveaux=3):
for tableau in tableaux:
grand_tableau.extend(tableau) # Concaténation de tous les tableaux de niveaux
rangs = []
max_rang = 0
i = 0
for kmer in set_kmer:
pass # compléter:
# hacher le kmer
# si le hash est dans le grand_tableau
# récupérer son index
# récupérer son rang (utiliser la fonction count())
# ajouter à la mphf [h, rang]
# mettre à jour max_rang
h = hash(kmer)
if h in grand_tableau:
index = grand_tableau.index(h)
rang = index - grand_tableau[:index + 1].count(-1)
mphf.append((h, rang))
max_rang = max(max_rang, rang)
for kmer in set_kmer_courant: #gestion des collisions: expliquer les 3 lignes du dessous
max_rang += 1
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment