-
Arbre de hachage prefixé
Bonjour,
J'ai vraiment besoin d'aide pour implémenter un algorithme.
Il s'agit d'un arbre ou chaque noeud dispose de 2 fils chacun préfixé par des bit: ( le noeud racine a 2 fils, celui de gauche a comme prefix 0 et celui de droite 1) un noeud intermédiaire qui a un prefixe p voit son fils droit préfixé par p1 et son fils gauche prefixé par p0 ( par exemple le fils droit de la racine a comme prefixe 1 et son fils droit à son tour a comme prefixe 11, son fils gauche a 10 comme prefixe). Sur les noeuds feuilles on stocke une liste de valeurs de taille B (exple B=4 => {val0,val1,val2,val3}).
En ajoutant une nouvelle valeur, celle ci est stocké sur la feuille qui a le même prefix qu'elle (si depassement du max B alors eclatement de la feuille en deux)
J'ai fait un programme en utilisant le type Map<String, Node> mais qui limmite beaucoup de methodes.
S'il vous plait j'ai besoin de savoir comment faire ceci, qu'est ce que je dois utiliser comme type de données?
SACHANT QUE JE NE SUIS PAS TRES AVANCé en JAVA!!
Je vous remercie par avance!!!
-
C'est un arbre radix. Avec ce nom tu pourras trouver beaucoup d'informations sur des algorithmes.
Pour la liste sur les feuilles, tu pourrais envisager d'utiliser un ArrayList.
Ton utilisation d'une Map<String, Node> est étonnante car la clé est pour les données stockées dans l'arbre est forcément une valeur entière alors que ta Map utilise une chaine de caractère comme clé.
-
Merci d'avoir repondu,
oui pour la ArrayList oui c'est ce que j'ai constaté en consultant quelques forums,
et puis maintenant se pose un probleme -je ne sais pas si quelqu'un s'y connaitrait?- une implementation d'un Prefix Hash Tree au dessus du simulateur PEERSIM,
Pour ceux qui s'y connaissent (en peersim), une reponse rapide SVP car je suis un peu serré par les delais.
Merci.