J'ai exploré les définitions de T-arbres et B / B + arbres. A partir de documents sur le web , je crois comprendre que B arbres réussissent mieux dans la mémoire hiérarchique, tels que les lecteurs de disque et de la mémoire cache.
Ce que je ne comprends pas est pourquoi T arbres ont été / sont utilisés, même pour la mémoire plat?
Ils sont annoncés comme espace alternative efficace aux arbres AVL.
Dans le pire des cas, tous les nœuds feuilles d'un T-arbre contiennent un seul élément et tous les noeuds internes contiennent le montant minimum autorisé, qui est proche de la pleine. Cela signifie que l'on utilise seulement la moitié de la moyenne de l'espace alloué. À moins que je ne me trompe, c'est la même utilisation que le pire des cas de B-arbres, lorsque les nœuds d'un arbre B sont à moitié plein.
En supposant que les deux arbres stockent les clés localement dans les noeuds, mais utiliser des pointeurs de se référer aux dossiers, la seule différence est que B arbres doivent stocker des pointeurs pour chacune des branches. Cela cause généralement jusqu'à 50% de frais généraux ou moins (plus de T-arbres), en fonction de la taille des touches. En fait, c'est proche de la surcharge attendue dans les arbres AVL, en supposant qu'aucun pointeur parent, les enregistrements intégrés dans les noeuds, les clés intégrés dans les dossiers. Est-ce le gain d'efficacité attendu qui nous empêche d'utiliser à la place B-arbres?
T-arbres sont généralement mis en œuvre sur le dessus des arbres AVL. AVL sont plus équilibrés que B arbres. Cela peut-il être lié à l'application de T-arbres?













