in reply to tuning hash memory usage

Although it's not clear to me from the problem description, often times you don't need the full data structure throughout the algorithm. If possible, try doing your work as soon as you put an entry into the hash and then delete the entry when you're done. The total data size might be 5000, but if you only have 200 entries in your hash at any given time, that's much more acceptable.

-Ted