Б-стабло — разлика између измена

1.517 бајтова додато ,  пре 15 година
Нема описа измене
 
== Операције над подацима ==
Структура б-стабла за исти скуп података у принципу није једнозначна. На пример за -{k=1}- и вредности кључева 21,22,23,24 је за корен стабла могуће узети кључ 22 односно 23, при чему би у првом слулајуслучају леви чвор преузео кључ 21 а десни 23 и 24. У другом случају би леви чвор преузео кључеве 21 и 22, а десни 24. Са порастом константе -{k}- и броја елемената расте и број могућности њиховог распоређивања.
 
=== Додавање новог елемента ===
[[Слика:Bt.add.png|Случај прекорачења дозвољеног броја елемената приликом додавања новог.|десно|250п|мини]]
Нови елемент се увек '''додаје''' на дно стабла, као нови елеменат у неком од листова. Уколико у неком тренутку број елемената у неком од чворова пређе дозвољену вредност од -{2k}-, елеменат најближи средини низа елемената бива издвојен из низа и додат у родитеља чвора коме је припадао, истовремено постајући родитељ свих елемената са његове леве односно десне стране.
 
На датом примеру (слика десно) је број -{k=1}-. При другом кораку у постојеће стабло је додат елемент са кључем 80. Како је тиме прекорачен број (-{2k=2}-) дозвољених елемената по чвору, изабран је средишљи елеменат проблматичног чвора са кључем 50 и додат у свој родитељски чвор који у том тренутку садржи само вредност 42. Сви елементи са његове леве односно десне стране се деле у два нова чвора чији ће родитељ он постати.
 
Да је претходно описаним операцијама дозвољени број елемената у родитељском чвору био нарушен, процес би био поновљен и за њега. Уколико до овакве ситуације дође у корену стабла, неминовно је повећање висине стабла за један.
 
=== Брисање елемента из стабла ===