Optymalna struktura danych na dysku na wyszukiwanie plików?

głosy
2

Spędziłem kilka godzin czytając posty, które wiązały się z pytaniem w dążeniu, aby spróbować wymyślić rozwiązanie, ale nie było naprawdę skuteczne w wymyślanie jeden.

Więc tu idzie: Kiedyś zapytany w wywiadzie którego struktura danych użyłbym do szukamy gdyby istniał konkretny wyraz w pliku. Plik jest również podobno tyle duże, aby nie być w stanie zmieścić się w pamięci i wywiad był naprawdę szukają rozwiązania na dysku.

Czy B-Tree struktura danych na dysku?

Binarny Search Drzewo to struktura danych w pamięci nie jest?

Utwórz 22/02/2011 o 22:55
źródło użytkownik
W innych językach...                            


3 odpowiedzi

głosy
1

Obie są tylko struktur danych, a może być zarówno na dysku lub w pamięci. To zależy od tego jak zdecydujesz się z nich korzystać.

btw, B-Drzewa były motywowane potrzebą uzyskania struktury na dysku. Binarne drzewo poszukiwań to tylko szczególny przypadek B-drzew, w jeden sposób.

Odpowiedział 22/02/2011 o 23:01
źródło użytkownik

głosy
2

Chcesz użyć strukturę danych, która mapuje jeden węzeł do jednej strony przestrzeni dyskowej. Pozwoli to zminimalizować aktywność dysku.

Ponieważ B-Tree jest często używany do tego celu. Zobacz http://en.wikipedia.org/wiki/B-tree , szczególnie rozdział „Czas, aby szukać posortowaną plik”.

Odpowiedział 22/02/2011 o 23:01
źródło użytkownik

głosy
4

Tak naprawdę są dwa różne możliwe pytania tutaj:

  1. Biorąc pod uwagę ogromny plik, a słowa, jak można sprawdzić, czy słowo istnieje w pliku?

  2. Biorąc pod uwagę ogromny plik, jak można zbudować indeks, dzięki czemu można skutecznie sprawdzić, czy dowolna słowo istnieje w pliku?

Pierwszym problemem jest skutecznie rozwiązany z Boyer-Moore i przeszukiwanie liniowe poprzez plik. Jeśli szukają tylko raz, budowanie indeksu jest kompletna strata czasu.

Jeśli chodzi o drugi problem, to brzmi jak wywiad jest naprawdę pchanie B-drzew.

Odpowiedział 22/02/2011 o 23:03
źródło użytkownik

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