哈希表优化

时间:2009-12-02 21:07:02

标签: compiler-construction hashtable hash compiler-theory

在几个哈希表实现中,我已经看到了对于桶中的项目使用启发式方法,如“转置”或“移到前面”。

  1. 使用这种启发式方法有什么好处?我自己无法理解。
  2. 可以在哈希表/桶级别进行哪些其他优化,原因以及在何种情况下?
  3. 请优先考虑优化散列函数。

1 个答案:

答案 0 :(得分:4)

如果发生冲突,因此存储桶中有多个项目,必须检查这些项目,如果常用的项目在列表的早期就很方便。

如果有理由假设最近访问的项目很可能很快再次访问,那么这些启发式算法是有意义的。当人们考虑诸如新闻报道之类的内容时,很可能会经常访问突发新闻。