[Haskell-cafe] Pure hashtable library

Bulat Ziganshin bulat.ziganshin at gmail.com
Thu Aug 28 02:22:56 EDT 2008


Hello Richard,

Thursday, August 28, 2008, 5:28:46 AM, you wrote:

>>> trie: O(len)*O(width)
>>> hashed trie: O(len)
>>> hash: O(len)

> If "width" here refers to the branching factor of the trie,
> it's actually O(len.lg(width)), and the width that matters
> is not the *possible* number of choices but the *actual*
> number.

i thought about using list to hold all variations at the trie node. with
a (balanced) tree at each node we will have even more overheads


> The great problem with hash tables is devising good hash
> functions.  There is a vast literature about hash tables,
> but there is very little about how to design good hash
> functions for anything other than numbers and maybe strings.

1. tries also work only for strings and other lists
2. i don't want to go into discussing well-known pluses and minuses of
data structures. my point was just that we have great alternative to
trees/tries which should be implemented many years ago. i've used a
lots of assoclists in my program, sometimes this really degraded
performance (although it's yet another question - why tree/trie
structures doesn't provide simple List.lookup replacement function and
why i'm so lazy to still not learning their APIs)



-- 
Best regards,
 Bulat                            mailto:Bulat.Ziganshin at gmail.com



More information about the Haskell-Cafe mailing list