data-structurestriememory-optimization

Disk-based trie?


I'm trying to build a Trie but on a mobile phone which has very limited memory capacity.

I figured that it is probably best that the whole structure be stored on disk, and only loaded as necessary since I can tolerate a few disk reads. But, after a few attempts, it seems like this is a very complicated thing to do.

What are some ways to store a Trie on disk (i.e. only partially loaded) and keep the fast lookup property?
Is this even a good idea to begin with?


Solution

  • The paper B-tries for disk-based string management answers your question.

    It makes the observation:

    To our knowledge, there has yet to be a proposal in literature for a trie-based data structure, such as the burst trie, the can reside efficiently on disk to support common string processing tasks.