Ram*_*ord 6 hashtable hashmap hashcode trie data-structures
通过trie map我的意思是一个关联数组,其中有效负载存储在trie而不是散列表中.
当我使用哈希映射/表时,我使用的键通常是字符串.哈希映射优于某些基于trie的映射有什么优势?我已经读过哈希映射更快 - 但在我看来,一致的哈希函数必须检查(char)数组的每个元素以获得最终的哈希 - 迭代数组一次.在一个特里,你同样必须迭代数组一次.
在我看来,在编码小对象时会使用更多的内存(即使你只允许键中的小写字母字符,每个节点有26个指针,每个键通常有多个节点),但从正面看你永远不必担心调整大小.为什么哈希地图如此常见,但我从未见过特里地图?
哈希映射比trie映射更常见,因为它们更通用:它们可以用于任何可清除的对象,而trie可用于序列.散列表在常见实现中也具有更好的引用局部性,因为它们将元素存储在一起.
(严格地说,每个对象都是一个位序列,但是通用的trie会要求用户在将对象存储到trie之前序列化它们.与定义自定义散列函数相比,这非常不方便.)
| 归档时间: |
|
| 查看次数: |
4061 次 |
| 最近记录: |