je suis tombé sur le Wikipedia page pour eux:Comprendre les arbres de fusion?
Et je lis la classe note pdfs liées au fond, mais il obtient la main ondulée sur la structure de données elle-même et va dans beaucoup de détails sur la fonction sketch(x)
. Je pense qu'une partie de ma confusion est que les documents essaient d'être très généraux, et j'aimerais un exemple précis à visualiser.
Cette structure de données est-elle appropriée pour stocker des données basées sur des clés entières arbitraires de 32 ou 64 bits? En quoi diffère-t-il d'un arbre B? Il y a une section qui dit que c'est un B-tree avec un facteur de ramification B = (lg n)^(1/5)
. Pour un arbre entièrement peuplé avec des clés de 32 bits, B serait 2. Est-ce que cela devient un arbre binaire? Cette structure de données est-elle destinée à utiliser des chaînes de bits beaucoup plus longues en tant que clés?
Mon googling n'a rien révélé de terriblement utile, mais j'accueillerais de bons liens sur le sujet. C'est vraiment juste une curiosité passagère, donc je n'ai pas été prêt à payer pour les PDF au portal.acm.org
pour le moment.
Je pense qu'il obtient 5 clés dans un nœud B arbre à 32 bits. –
@ xscott- Vous voudrez peut-être examiner les arbres de van Emde Boas (vEB-trees) comme alternative. Les arbres de fusion s'exécutent dans O (lg n/lg ng), où vEB-arbres s'exécutent en O (lg lg n) temps par opération, avec est asymptotiquement plus rapide. De plus, les arbres vEB sont sensiblement plus faciles à comprendre que les arbres de fusion, au moins à mon humble avis. – templatetypedef