Ett B*-träd är en typ av B-träd där varje nod i trädet är minst ⅔ fullt (till skillnad från ett B-träd där denna siffra är 1/2).
B*-träd föreslogs av Rudolf Bayer och Edward McCraith , som studerade problemet med kompakthet hos B-träd . B*-trädet är relativt mer kompakt eftersom varje nod används mer fullständigt. I övrigt skiljer sig denna typ av träd inte från ett enkelt B-träd.
För att uppfylla kravet "noden är minst 2/3 full" måste man överge den enkla proceduren för att dela en överfull nod. Istället sker en "transfusion" till den närliggande noden. Om den närliggande noden också är full, är nycklarna ungefär lika uppdelade i 3 nya noder.
Ett B + -träd som uppfyller dessa krav kallas ett B *+ -träd [1] .
Träd (datastruktur) | |
---|---|
Binära träd | |
Självbalanserande binära träd |
|
B-träd | |
prefix träd |
|
Binär uppdelning av utrymme | |
Icke-binära träd |
|
Bryter upp utrymmet |
|
Andra träd |
|
Algoritmer |