Réponses:
Je ne pense pas que le degré d'un arbre soit un terme standard dans la théorie des graphes ni dans les structures de données. Un degré est généralement une propriété d'un nœud / sommet d'un graphe, qui indique le nombre de ses arêtes incidentes. Pour les arbres, vous ne considérez parfois que les bords pour les enfants.
Je suppose que "B-tree avec un degré minimum de 2" signifie que chaque nœud a au moins deux enfants. En d'autres termes, il s'agit d'une limite inférieure pour le nombre d'enfants. D'un autre côté, l'ordre d'un arbre B désigne le degré de nœud maximal, et est donc une borne supérieure.
Un nœud B-Tree peut contenir plusieurs valeurs clés tandis qu'un nœud BST n'en contient qu'une. Il existe des limites inférieures et supérieures sur le nombre de clés qu'un nœud peut contenir. Ces bornes peuvent être exprimées en termes d'un entier fixe t>=2
appelé degré minimum de l'arbre B.
t-1
clés. Chaque nœud interne autre que la racine a donc au moins des t
enfants.2t-1
clés. Par conséquent, un nœud interne peut avoir au plus des 2t
enfants. Nous disons qu'un nœud est plein s'il contient exactement des 2t-1
clés.Veuillez cliquer sur Ce lien pour avoir une excellente base sur B-Tree et Ce lien pour un algorithme de suivi et le plus facilement écrit des opérations de B-Tree.
Jusqu'à présent, j'ai vu trois façons de caractériser l'arbre B:
Avec degré de l'arbre B (soit minimum, comme dans le livre CLRS Algorithms , ou maximum comme dans B-tree Visualizer ).
L'arbre B le plus simple se produit lorsque . Chaque nœud interne a alors 2, 3 ou 4 enfants, et nous avons un arbre 2-3-4 .
Le texte référencé dans la réponse de Nasir suit de près la définition de l'arbre B donnée dans les algorithmes avec une explication détaillée des propriétés minimales des degrés.
Avec et paramètres, avec une borne inférieure (supérieure) sur le nombre d'enfants, le nœud interne est censé avoir (par exemple, un arbre B avec est équivalent à B-tree avec (les deux autorisant de 2 à 5 clés par nœud),
Avec ordre de l'arbre B , donnée par Knuth dans TAOCP, Vol. 3 de sorte que tout nœud interne ait entre et les enfants.
Résumer:
En ce qui concerne la deuxième partie de la question d'OP, il y a le théorème 18.1 dans les algorithmes:
Si , alors pour tout -arbre B clé de hauteur et diplôme minimum , .
L'ordre (m) de l'arbre B définit (max et min) no. d'enfants pour un nœud particulier.
Le degré (t) de l'arbre B définit (max et min) no. de clés pour un nœud particulier. Le degré est défini comme le degré minimum d'arbre B.
Un arbre B d'ordre m: Tous les nœuds internes à l'exception de la racine ont au plus m enfants non vides et au moins ⌈m / 2⌉ enfants non vides.
Un arbre B de degré (minimum) t:
Degree
représente la limite inférieure du nombre d'enfants qu'un nœud dans l'arbre B peut avoir (à l'exception de la racine). c'est-à-dire le nombre minimum d'enfants possible. Alors que le Order
représente la limite supérieure du nombre d'enfants. c'est à dire. le nombre maximum possible.
B Propriétés de l'arborescence par rapport à l'Ordre
NOTE
: Wikipedia indique également ces
Propriétés de l'arborescence B par rapport au degré
Propriétés de l'arbre B par rapport au degré
NOTE
: These can also be found in the CLRS book
Arbre B d'ordre 5 OU m = 5
max enfants = 5
enfants min = plafond (m / 2) = 3
Arbre B de degré 5 OU t = 5
touches max = 2t-1
touches min = t-1
Les terminologies des arbres B ne sont pas définies uniformément partout où je lis , mais la question ambiguë est quel est l'ordre d'un arbre B? et pas beaucoup sur le degré d'un B-Tree . Le degré provient de la théorie des graphes qui le définit comme la somme des degrés en degré et en dehors de ce nœud.
On peut en déduire que le degré est plus étroitement lié au nombre de pointeurs / enfant qu'un nœud B-Tree peut avoir au lieu des valeurs clés dans le nœud.
Selon Knuth et Michael J. Folk , un arbre B d'ordre m est un arbre dont chaque nœud a au plus m enfants. Donc, très vaguement, nous pouvons dire que les deux sont des termes plus ou moins équivalents dans le contexte de B-Tree.
Degree
représente la limite inférieure du nombre d'enfants. c'est-à-dire le nombre minimum possible. Alors que leOrder
représente la limite supérieure du nombre d'enfants. c'est à dire. le nombre maximum possible. Merci.