Search code examples
c++algorithmserializationdata-structureshashtable

How to store a hash table in a file?


How can I store a hash table with separate chaining in a file on disk?

Generating the data stored in the hash table at runtime is expensive, it would be faster to just load the HT from disk...if only I can figure out how to do it.

Edit: The lookups are done with the HT loaded in memory. I need to find a way to store the hashtable (in memory) to a file in some binary format. So that next time when the program runs it can just load the HT off disk into RAM.

I am using C++.


Solution

  • What language are you using? The common method is to do some sort binary serialization.

    Ok, I see you have edited to add the language. For C++ there a few options. I believe the Boost serialization mechanism is pretty good. In addition, the page for Boost's serialization library also describes alternatives. Here is the link:

    http://www.boost.org/doc/libs/1_37_0/libs/serialization/doc/index.html