logo

B+ koks

B+ Tree ir B Tree paplašinājums, kas ļauj veikt efektīvas ievietošanas, dzēšanas un meklēšanas darbības.

B kokā atslēgas un ierakstus var saglabāt gan iekšējos, gan lapu mezglos. Savukārt B+ kokā ierakstus (datus) var saglabāt tikai lapu mezglos, savukārt iekšējie mezgli var saglabāt tikai galvenās vērtības.

string to itn

B+ koka lapu mezgli ir savstarpēji saistīti atsevišķi saistītu sarakstu veidā, lai padarītu meklēšanas vaicājumus efektīvākus.

B+ Tree izmanto, lai saglabātu lielu datu apjomu, ko nevar saglabāt galvenajā atmiņā. Sakarā ar to, ka galvenās atmiņas apjoms vienmēr ir ierobežots, B+ koka iekšējie mezgli (ierakstu piekļuves atslēgas) tiek saglabāti galvenajā atmiņā, bet lapu mezgli tiek glabāti sekundārajā atmiņā.

B+ koka iekšējos mezglus bieži sauc par indeksa mezgliem. 3. kārtas B+ koks ir parādīts nākamajā attēlā.


B+ koks

B+ koka priekšrocības

  1. Ierakstus var ienest vienādās diska piekļuves reižu skaitā.
  2. Koka augstums paliek līdzsvarots un mazāks nekā B kokam.
  3. Mēs varam piekļūt B+ kokā saglabātajiem datiem gan secīgi, gan tieši.
  4. Atslēgas tiek izmantotas indeksēšanai.
  5. Ātrāki meklēšanas vaicājumi, jo dati tiek glabāti tikai lapu mezglos.
B+ koka priekšrocības

B koks VS B+ koks

SN B Koks B+ koks
1 Meklēšanas taustiņus nevar atkārtoti saglabāt. Var būt liekas meklēšanas atslēgas.
2 Datus var glabāt lapu mezglos, kā arī iekšējos mezglos Datus var glabāt tikai lapu mezglos.
3 Dažu datu meklēšana ir lēnāks process, jo datus var atrast gan iekšējos mezglos, gan lapu mezglos. Meklēšana ir salīdzinoši ātrāka, jo datus var atrast tikai lapu mezglos.
4 Iekšējo mezglu dzēšana ir tik sarežģīta un laikietilpīga. Dzēšana nekad nebūs sarežģīts process, jo elements vienmēr tiks dzēsts no lapas mezgliem.
5 Lapu mezglus nevar savienot kopā. Lapu mezgli ir savienoti kopā, lai padarītu meklēšanas darbības efektīvākas.

Ievietošana B+ kokā

1. darbība: Ievietojiet jauno mezglu kā lapas mezglu

2. darbība: Ja lapai nav nepieciešamas vietas, sadaliet mezglu un kopējiet vidējo mezglu uz nākamo indeksa mezglu.

3. darbība: Ja indeksa mezglam nav nepieciešamās vietas, sadaliet mezglu un kopējiet vidējo elementu uz nākamo rādītāja lapu.

Piemērs :

Ievietojiet vērtību 195 B+ kokā pēc 5. kārtas, kas parādīts nākamajā attēlā.


B + koks

195 tiks ievietots labajā apakškokā 120 pēc 190. Ievietojiet to vajadzīgajā vietā.


B + koks

Mezglā ir lielāks par maksimālo elementu skaitu, t.i., 4, tāpēc sadaliet to un novietojiet vidējo mezglu līdz vecākajam mezglam.

pavedienu sinhronizācija

B + koks

Tagad indeksa mezglā ir 6 bērni un 5 atslēgas, kas pārkāpj B+ koka īpašības, tāpēc mums tas ir jāsadala, kā parādīts šādi.


B + koks

Dzēšana B+ kokā

1. darbība: Izdzēsiet atslēgu un datus no lapām.

2. darbība: ja lapas mezglā ir mazāks par minimālo elementu skaitu, sapludiniet mezglu ar tā brāli un izdzēsiet starp tiem esošo atslēgu.

3. darbība: ja indeksa mezglā ir mazāks par minimālo elementu skaitu, sapludiniet mezglu ar brāli un pārvietojiet taustiņu uz leju starp tiem.

Piemērs

Izdzēsiet atslēgu 200 no B+ koka, kas parādīts nākamajā attēlā.


B + koks

200 atrodas 190 labajā apakškokā, pēc 195. dzēst to.


B + koks

Apvienojiet abus mezglus, izmantojot 195, 190, 154 un 129.


B + koks

Tagad elements 120 ir vienīgais mezglā esošais elements, kas pārkāpj B+ koka īpašības. Tāpēc mums tas ir jāapvieno, izmantojot 60, 78, 108 un 120.

Tagad B+ koka augstums tiks samazināts par 1.


B + koks