Quels sont les avantages de stocker tous les éléments dans les noeuds de feuille?

voix
13

Je lis Structures de données avancée par Peter Brass.

Au début du chapitre sur les arbres de recherche, il a déclaré qu'il ya deux modèles d'arbres de recherche - un où les nœuds contiennent l'objet réel (la valeur si l'arbre est utilisé comme un dictionnaire), et un autre où tous les objets sont stockés dans les feuilles et les noeuds internes ne sont que des comparaisons.

Quels sont les avantages du deuxième modèle sur le premier?

Créé 14/10/2010 à 18:57
source utilisateur
Dans d'autres langues...                            


4 réponses

voix
0

objets d'information et le stockage dans les noeuds, nous parle dans ce cas d'un Trie, est utile pour retrival rapide de l'information (plus rapide que le stockage des choses dans un tableau / Hashtable, où le pire des cas auf acces est O (n), dans la structure arborescente ceci est O (m) [m est la longueur de n])

regardez ici: https://en.wikipedia.org/wiki/Trie

Dans un arbre de recherche ce oerations peut être beaucoup plus compliqué (regarder AVL Tree O (log n)) et ne peut donc être plus lent et est plus compley à mettre en œuvre.

Quelle est la structure de données pour choisir ?? Eh bien cela dépend de ce que tu veux faire

Créé 14/10/2010 à 19:15
source utilisateur

voix
9

L'un des grands avantages d'un arbre binaire où les données sont uniquement dans les noeuds de feuille est que vous pouvez partitionner en fonction des éléments qui ne sont pas dans votre ensemble de données.

Par exemple, si j'ai un ensemble de données possible 0-1000000, mais la grande majorité des articles sont soit à l'extrémité ou bas de gamme , mais pas au milieu, je veux peut -être encore mon premier comparer à 500 000 - même si ce nombre n'est pas dans mon jeu de données . Si chaque nœud avait données, je ne pouvais pas le faire. Bien que normalement pas nécessaire en théorie, j'ai rencontré à plusieurs reprises que le partitionnement basé sur une valeur en dehors de mes données simplifiée mise en œuvre.

Créé 14/10/2010 à 19:15
source utilisateur

voix
3

B + arbres sont un exemple d'un cas où toutes les valeurs clés / sont stockés dans des noeuds de feuilles. Le principal avantage est ici que, puisque tous les éléments sont dans les nœuds feuilles, les nœuds feuilles peuvent être reliés entre eux pour former une liste chaînée qui permet traversal rapide dans l'ordre. Si vous accédez à un élément particulier, vous pouvez toujours trouver l'élément suivant dans la séquence sans visiter des parents parce que les nœuds feuilles sont reliés entre eux. Systèmes de fichiers et les systèmes de stockage de base de données peuvent tirer profit de cette structure pour la recherche de gamme et d'autres choses.

Créé 29/11/2011 à 12:07
source utilisateur

voix
1

Disons que vous construisez l'arbre sur certains objets sur des critères complexes. Sur exemple calculé à partir de plusieurs propriétés. Parfois, vous ne pouvez pas modifier cet objet à la valeur calculée du magasin et le calcul de ce critère est vaste. Donc, vous calculez ces critères qu'une seule fois, et stocker des objets dans leafs en fonction de critères résultat. Puis, lorsque votre arbre est terminé, vous pouvez trouver l'objet requis beaucoup plus rapidement parce que vous n'avez pas à calculer les critères pour chaque nœud d'arborescence dans votre chemin.

Créé 29/11/2011 à 17:55
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more