【发布时间】:2011-05-06 22:13:12
【问题描述】:
二叉搜索树相对于哈希表的优势是什么?
哈希表可以在 Theta(1) 时间内查找任何元素,并且添加元素同样容易......但我不确定反过来的优势。
【问题讨论】:
-
对于哈希表 find() insert() 和 remove() 的运行时间是多少? theta(1) theta(1) 和 theta(1) 对吗?
-
几乎总是,是的。如果你遇到很多碰撞,那么这些时间可能会增长到 O(n)。
-
这些时间还取决于您的散列函数。如果由于某种奇怪的原因它不是 O(1),那么显然您的操作将具有您的哈希函数运行效率的最低限度。
-
我想说 BST 的最大优点是它是一个排序的数据结构。详细用例已经列出here。
标签: data-structures hashtable binary-search-tree