Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.math.mathematica

Topic: How best to implement a hash table in Mathematica
Replies: 15   Last Post: Feb 24, 2012 1:00 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Joseph Gwinn

Posts: 101
Registered: 2/23/05
How best to implement a hash table in Mathematica
Posted: Feb 18, 2012 6:28 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

I have an application that resembles dictionary lookup, with significant
rates of collision.

The current approach is to initialize the hash table, a 10^4 element
list of empty sublists, and then build the table by inserting document
object id numbers into the correct sublists as indexed by some important
property of the object. The choice of property varies with application.
The property may be quantized geographic location, or some attribute of
the object itself.

When done building the hash table, query consists of reading the sublist
using an index derived in the same way as for the original building of
the list. Each sublist may have many entries, and the entries need not
be numbers.

Anyway, I have a workable approach using

HashList[[index]]=
Union[Flatten[Join[HashList[[index]],{new object ID}]]]]

as the core update function, but I'm wondering how well this will scale
to say 10^6 sublists (which may be needed to keep the collisions under
control with large datasets), and of course if there is a better way in
Mathematica.

I did look at SparseArrays, but they don't support elements that are
sublists.

Although this hash table is one dimensional, I have uses for 2D and
maybe 3D tables, which are very common when one is hashing physical
location.

Thanks in advance,

Joe Gwinn




Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2013. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.