哈希表与树

哈希表与树,第1张

哈希表与树

哈希表是否总是比树快?

不,并非 总是如此 。这取决于许多因素,例如集合的大小,哈希函数以及某些哈希表实现-以及删除 *** 作的数量。

哈希表 平均

O(1)
每个 *** 作-但并非总是如此。他们可能在 最坏的情况下
O(n)

我现在可以想到一些偏爱树木的原因:

  1. 订购很重要。[哈希表未保持顺序,BST按定义排序]
  2. 延迟是一个问题-您不能承受
    O(n)
    可能发生的延迟。[这对于实时系统可能至关重要]
  3. 这些数据可能与您的散列函数“相似”,并且散列到相同位置[冲突]的许多元素并非不可能。[有时可以通过使用其他哈希函数来解决]
  4. 对于较小的集合-很多时候,哈希表之间的隐藏常数
    O(1)
    要比树的隐藏常数高得多-对于小集合而言,使用树可能更快。

但是,如果数据量很大,那么延迟就不是问题,并且不可能发生冲突-哈希表比使用树更好地渐近。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4974707.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存