Optimális a lemezen tárolt adatok szerkezetét keres egy fájlt?

szavazat
2

Töltöttem egy pár óra olvasás bejegyzésekben kapcsolatos kérdést egy ajánlatot, hogy próbálja meg, és felér egy megoldást, de nem voltam igazán sikeres jön egy.

Tehát itt megy: Azt egyszer megkérdezték egy interjúban, amely adatstruktúra én keresnék egy, ha egy adott szó létezett egy fájlt. A fájl szintén állítólag elég nagy, hogy nem lehet tudni, hogy illeszkedjen a memóriában, és a kérdező valóban keresnek egy lemezen megoldás.

A B-fa egy lemezen tárolt adatok szerkezete?

A bináris keresés Tree egy memóriában adatszerkezet nem?

A kérdést 22/02/2011 22:55
a forrás felhasználó
Más nyelveken...                            


3 válasz

szavazat
1

Mindkettő csak adat struktúrák és lehet mind a lemezen vagy a memórián. Ez attól függ, hogyan dönt, hogy használja őket.

btw, B-fák mögött az a szükségességét, hogy a lemezen lévő struktúra. Bináris keresés fák csak egy speciális esete a B-fákat, az egyik módja.

Válaszolt 22/02/2011 23:01
a forrás felhasználó

szavazat
2

A használni kívánt adatstruktúrát, amely leképezi egy csomópont egy oldalra lemezterület. Ez csökkenti a merevlemezt.

Mivel a B-fa gyakran használják erre. Lásd http://en.wikipedia.org/wiki/B-tree részét, különös tekintettel „Ideje keresni egy rendezett fájl”.

Válaszolt 22/02/2011 23:01
a forrás felhasználó

szavazat
4

Ott valóban két különböző lehetséges kérdéseket itt:

  1. Adott egy hatalmas fájlt, és egy szó, hogyan ellenőrizheti, ha a szó létezik a fájl?

  2. Adott egy hatalmas fájlt, hogyan épít egy indexet, így hatékonyan ellenőrizni, ha egy tetszőleges szót a fájlban?

Az első probléma hatékonyan megoldani Boyer-Moore és a lineáris keresés a fájlban. Ha csak keresi egyszer, az épület egy index teljes időpocsékolás.

A második probléma, úgy hangzik, mint a kérdező valóban rámenős B-fák.

Válaszolt 22/02/2011 23:03
a forrás felhasználó

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