2010-10-01 12 views
6

Ich versuche, ein Trie aber auf einem Handy zu bauen, das sehr begrenzte Speicherkapazität hat.Festplattenbasierter Trie?

Ich dachte, dass es wahrscheinlich am besten ist, dass die gesamte Struktur auf der Festplatte gespeichert und nur bei Bedarf geladen wird, da ich ein paar Disk-Lesevorgänge tolerieren kann. Aber nach ein paar Versuchen scheint das eine sehr komplizierte Sache zu sein.

Welche Möglichkeiten gibt es, ein Trie auf Festplatte zu speichern (d. H. Nur teilweise geladen) und die Fast-Lookup-Eigenschaft beizubehalten?
Ist das überhaupt eine gute Idee?

+1

Ich würde in dieser Situation eher nach einem B-Baum als nach einem Trie greifen, aber ich würde gerne die Antwort auf diese Frage auch wissen. – zwol

+0

Versuche sind Strukturen, die schnelles Nachschlagen unterstützen. Das sieht nach einem guten Anwendungsfall für einige eingebettete Datenbank-Engine aus, wie SQLite oder http://en.wikipedia.org/wiki/Dbm Derivative – permeakra

Antwort

4

Das Papier B-tries for disk-based string management beantwortet Ihre Frage.

Es macht die Beobachtung:

Unseres Wissens gibt es noch einen Vorschlag in der Literatur für eine Trie-basierte Datenstruktur, wie der Burst-trie sein muss, die effizient auf der Festplatte befinden können um gängige String-Verarbeitungsaufgaben zu unterstützen.

+1

http://www.naskitis.com/naskitis-vldbj09.pdf – RichardOD

+0

Papier ist down :( – bgs

+0

@bgs der Link RichardOD veröffentlicht funktioniert für mich. – chakrit