Ajánlott, 2024

Szerkesztő Választása

A különbség a B-fa és a bináris fa között

A B-fa és a Bináris fa a nemlineáris adatstruktúra típusai. Bár a kifejezések hasonlónak tűnnek, de minden szempontból eltérőek. A bináris fát akkor használják, ha a rekordok vagy adatok a RAM-ban tárolódnak a lemez helyett, mivel a RAM hozzáférési sebessége sokkal magasabb, mint a lemez. Másrészről, a B-fát akkor használják, ha az adatot tárolják a lemezen, és csökkenti a hozzáférési időt a fa magasságának csökkentésével és a csomópontok növelésével.

Egy másik különbség a B-fa és a bináris fa között az, hogy a B-fa ugyanazon a szinten minden gyermekcsomóponttal rendelkezik, míg a bináris fa nem rendelkezik ilyen korlátozással. A bináris fa maximum 2 alfát vagy csomópontot tartalmazhat, míg a B-fában az alfák vagy csomópontok M nem lehetnek, ahol M a B-fa sorrendje.

Összehasonlító táblázat

Az összehasonlítás alapja
B-tree
Bináris fa
Alapvető kényszerEgy csomópont max. M számú gyermekcsomóponton lehet (ahol M a fa sorrendje).Egy csomópont maximum 2 alfát tartalmazhat.
Használt
Ezt akkor használják, ha az adatokat tárolja a lemezen.Ezt akkor használják, ha a rekordokat és az adatokat RAM-ban tárolják.
A fa magasságalog M N (ahol m az M-út fa sorrendje)log 2 N
AlkalmazásKód indexelése adatszerkezet számos DBMS-ben.Kódoptimalizálás, Huffman kódolás stb.

A B-fa meghatározása

A B-fa a kiegyensúlyozott M-út és a kiegyensúlyozott rendezési fa. Ez hasonló a bináris keresési fához, ahol a csomópontok a belépő út alapján szerveződnek. A B-fa térkomplexitása O (n). A beillesztési és törlési idő komplexitása O (log n).

Bizonyos feltételeknek igaznak kell lenniük egy B-fának:

  • A fa magassága a lehető legkisebb legyen.
  • A fa levelei felett nem lehet üres alfák.
  • A fa leveleinek ugyanolyan szinten kell lenniük.
  • Minden csomópontnak a legkisebb számú gyermeknek kell lennie, kivéve a szabadságcsomópontokat.

M sorrendű B-fa tulajdonságai

  • Minden csomópont maximum M gyermekszámot és minimális M / 2 gyermekszámot, vagy bármilyen számot 2-től maximumig.
  • Minden csomópontnak egy kulcs van, mint a maximális M-1 gombokkal rendelkező gyermekek.
  • A kulcsok elrendezése a csomópontokban bizonyos sorrendben van. A kulcs bal oldalán található alfán minden kulcsa a kulcs elődei, és a kulcs jobb oldalán találhatóak az utódok.
  • A teljes csomópont beillesztésekor a fa két részre oszlik, és a medián értékű kulcs a szülő csomópontba kerül.
  • Az egyesülési művelet akkor történik, amikor a csomópontokat töröljük.

A bináris fa meghatározása

A bináris fa egy olyan fa struktúra, amely legfeljebb két mutatóval rendelkezik a gyermekcsomópontjaira. Ez azt jelenti, hogy a csomópont legmagasabb szintje 2 lehet, és nulla vagy egyfokozatú csomópont is lehet.

A bináris fa bizonyos változatai, mint például a szigorúan bináris fa, a teljes bináris fa, a kiterjesztett bináris fa stb.

  • A szigorúan bináris fa olyan fa, ahol minden nem-terminális csomópontnak balra és jobbra kell lennie.
  • A fát teljes bináris fának nevezzük, ha kielégíti azt a feltételt, hogy minden szinten 2 i csomópont van, ahol i a szint.
  • A menetes bináris egy bináris fa, amely 0 csomópontból vagy 2 csomópontból áll.

Traversal technikák

A fa áthaladása az egyik leggyakoribb művelet, amelyet a faadatszerkezeten végeznek, ahol minden egyes csomópont rendszeresen egyszer egyszer látogatott meg.

  • Inorder- Ebben a fában az áthaladás során a bal alfát rekurzívan látogatjuk, majd a gyökércsomópontot meglátogatjuk, és végül a jobb oldali alfát látogatjuk meg.
  • Előadó- Ebben a fában a gyökércsomópontot először a bal oldali alfán és végül a jobb oldali alfán látogatják meg.
  • Postorder- Ez a technika a bal alrészt, majd a jobb oldalt és az utolsó gyökér csomópontot látogatja.

A B-fa és a bináris fa közötti különbségek

  1. A B-fában a nem végpontos csomópontok maximális száma lehet M, ahol M a B-fa sorrendje. Másrészt, a Bináris fa legfeljebb két alfát vagy gyermekcsomópontot tartalmazhat.
  2. A B-fát akkor használják, ha az adatokat tárolják a lemezen, míg a bináris fát akkor használják, ha az adatokat gyors memóriában tárolják, mint a RAM.
  3. A B-fa másik alkalmazási területe a DBMS-ben a kód indexelő adatszerkezet, ezzel szemben a bináris fa a kód optimalizálásában, a huffman kódolásban stb.
  4. A B-fa maximális magassága log N N (M a fa sorrendje). A bináris fa maximális magassága log 2 N (N a csomópontok száma és az alap 2, mert bináris).

Következtetés

A B-fát a bináris és bináris keresési fa fölött használják. Ennek fő oka a memóriahierarchia, ahol a CPU a nagy sávszélességű csatornákkal a gyorsítótárhoz van csatlakoztatva, míg a CPU-t kis sávszélességű csatornán keresztül a lemezhez csatlakoztatja. A bináris fát akkor használják, ha a memóriában tárolt rekordokat (kicsi és gyors) tárolják, és a B-fát akkor használják, ha a lemezeket tárolják (nagy és lassú). Tehát a B-fa használata a Bináris fa helyett jelentősen csökkenti a hozzáférési időt a magas elágazási tényező és a fa csökkentett magassága miatt.

Top