Milyen előnyei vannak a T-fák fölött B +/- fákat?

szavazat
12

Feltártam a definícióit T-fák és B- / B + fák. Elhangzott az interneten veszem, hogy a B-fákat jobban teljesítenek hierarchikus memória, mint a merevlemezek és tárolt memória.

Amit nem értek, hogy miért a T-fákat / használják még a lapos memória?

Úgy hirdetik tér hatékony alternatívájaként AVL fák.

A legrosszabb esetben az összes levél csomópontok egy T-fát tartalmaznak, csak az egyik eleme, és minden belső csomópontot tartalmaz a minimális engedélyezett összeg, ami közel teljes. Ez azt jelenti, hogy átlagosan csak a felét lefoglalt terület hasznosul. Ha nem tévedek, ez ugyanaz a hasznosítás, mint a legrosszabb esetben a B-fákat, amikor a csomópontok egy B-fa félig tele van.

Feltételezve, hogy a két fa tárolja a kulcsokat helyileg a csomópontok, de használat mutatókat lásd a nyilvántartás, az egyetlen különbség az, hogy a B-fákat kell tárolni mutatókat az egyes ágak. Ez általában okozhat akár 50% fölött, vagy kevesebb (több mint T-fák), attól függően, hogy a méret a kulcsokat. Tény, hogy ez közel van a felső várható AVL fák, feltételezve, hogy nem eredeti mutatója, nyilvántartások ágyazva a csomópontok, kulcsok ágyazva a rekordokat. Ez a várható hatékonyságnyereség hogy megakadályozza, hogy a B-fák helyett?

T-fák általában végrehajtják tetején AVL fák. AVL fák kiegyensúlyozottabb, mint a B-fák. Lehet ezt alkalmazásához kapcsolódó T-fákat?

A kérdést 29/01/2011 15:43
a forrás felhasználó
Más nyelveken...                            


2 válasz

szavazat
3

Adhatok egy személyes történetet, amely magában foglalja a fele a választ, hogy miért írtam néhány Pascal kód programozásához B + fák mintegy 18 évvel ezelőtt.

célom rendszer egy PC két meghajtó, azt kellett tárolni index a nem felejtő memória, és azt akartam, hogy jobban megértsük, amit tanultam az egyetemen. Nagyon elégedetlen a teljesítménye egy kereskedelmi csomag, valószínűleg DBase III vagy valami Fox termék, már nem emlékszem.

egyébként: Kellett ezeket a műveleteket:

  • Nézz fel
  • beszúrás
  • törlés
  • következő elem
  • előző tétel

  • maximális mérete index nem volt ismert,

  • így az adatok kellett tartózkodjon a lemezen
  • minden hozzáférést a támogatás lehetővé tette a magas költségek
  • olvas egy egész tömböt ugyanannyiba kerül, mint egy bájt olvasása

B + -trees tette, hogy a kis lassú PC valóban repül át az adatokat!

A levelek két extra mutatókat, így kialakult egy kétszeresen láncolt lista, szekvenciális keresést.

Válaszolt 11/02/2011 23:49
a forrás felhasználó

szavazat
2

A valóságban a különbség abban rejlik a rendszer használata. Mivel tanítóm egyetemi megjegyezte, hogy: ha a probléma abban rejlik, memória hiány vagy hdd hiány határozza meg, melyik fa és végrehajtásának használni fog. Valószínűleg ez lesz a B + fa.

Mivel több száz megvalósítások például a 2direction sorba, és egyirányú sorok, ahol meg kell hurok gondolat elemek, valamint többféle módon tárolni az index és letölteni azt fogja meghatározni a valódi hátránya, és minden perc végrehajtását.

Válaszolt 25/02/2011 09:02
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more