A B+ Tree a B Tree kiterjesztése, amely hatékony beszúrási, törlési és keresési műveleteket tesz lehetővé.
A B fában a kulcsok és a rekordok egyaránt tárolhatók a belső és a levél csomópontokban. Míg a B+ fában a rekordok (adatok) csak a levél csomópontjain tárolhatók, míg a belső csomópontok csak a kulcsértékeket tárolhatják.
A karakterlánc java-t tartalmaz
A B+ fa levélcsomópontjait egyedileg összekapcsolt listák formájában kapcsolják össze, hogy a keresési lekérdezések hatékonyabbak legyenek.
A B+ Tree olyan nagy mennyiségű adat tárolására szolgál, amely nem tárolható a fő memóriában. Tekintettel arra, hogy a fő memória mérete mindig korlátozott, a B+ fa belső csomópontjai (rekordokhoz való hozzáférés kulcsai) a fő memóriában, míg a levél csomópontjai a másodlagos memóriában tárolódnak.
A B+ fa belső csomópontjait gyakran indexcsomópontoknak nevezik. A következő ábrán egy 3. rendű B+ fa látható.
A B+ Tree előnyei
- A rekordok azonos számú lemezelérésben kérhetők le.
- A fa magassága kiegyensúlyozott marad és kisebb a B fához képest.
- A B+ fában tárolt adatokat szekvenciálisan és közvetlenül is elérhetjük.
- A kulcsok az indexelésre szolgálnak.
- Gyorsabb keresési lekérdezések, mivel az adatok csak a levél csomópontjain tárolódnak.
B Fa VS B+ Fa
SN | B Fa | B+ fa |
---|---|---|
1 | A keresőbillentyűket nem lehet ismételten tárolni. | Redundáns keresési kulcsok lehetnek jelen. |
2 | Az adatok levél csomópontokban és belső csomópontokban is tárolhatók | Az adatok csak a levél csomópontjain tárolhatók. |
3 | Egyes adatok keresése lassabb folyamat, mivel az adatok a belső csomópontokon és a levél csomópontokon is megtalálhatók. | A keresés viszonylag gyorsabb, mivel az adatok csak a levél csomópontjain találhatók. |
4 | A belső csomópontok törlése olyan bonyolult és időigényes. | A törlés soha nem lesz komplex folyamat, mivel az elem mindig törlődik a levél csomópontjaiból. |
5 | A levél csomópontjai nem kapcsolhatók össze. | A levélcsomópontok össze vannak kapcsolva a keresési műveletek hatékonyabbá tétele érdekében. |
Beillesztés a B+ fába
1. lépés: Szúrja be az új csomópontot levélcsomópontként
2. lépés: Ha a levélben nincs szükséges hely, ossza fel a csomópontot, és másolja a középső csomópontot a következő indexcsomópontba.
3. lépés: Ha az indexcsomópontnak nincs szükséges hely, ossza fel a csomópontot, és másolja a középső elemet a következő indexoldalra.
Példa :
Illessze be a 195 értéket a következő ábrán látható 5. rendű B+ fába.
A 195 a 120-as jobb oldali részfába kerül beszúrásra a 190 után. Szúrja be a kívánt helyre.
sdlc életciklus
A csomópont több elemet tartalmaz, mint a maximális számú, azaz 4, ezért oszd fel, és helyezd a középső csomópontot a szülőhöz.
Most az indexcsomópont 6 gyermeket és 5 kulcsot tartalmaz, ami sérti a B+ fa tulajdonságait, ezért fel kell osztanunk, az alábbiak szerint.
Törlés a B+ fában
1. lépés: Törölje a kulcsot és az adatokat a levelekről.
excel dátum különbség
2. lépés: ha a levélcsomópont a minimálisnál kevesebb elemet tartalmaz, egyesítse a csomópontot a testvérével, és törölje a köztük lévő kulcsot.
3. lépés: ha az indexcsomópont a minimálisnál kevesebb elemet tartalmaz, egyesítse a csomópontot a testvérrel, és mozgassa lefelé a kulcsot közöttük.
Példa
Törölje a 200-as kulcsot a következő ábrán látható B+ fából.
A 200 szerepel a 190 jobb oldali részfájában, a 195 után törölje.
A 195, 190, 154 és 129 használatával egyesítse a két csomópontot.
Most a 120-as elem a csomópontban található egyetlen elem, amely megsérti a B+ fa tulajdonságait. Ezért össze kell vonnunk a 60, 78, 108 és 120 használatával.
Most a B+ fa magassága 1-gyel csökken.