哈希表的另一个常见实现(除了链表之外)是使用BST作为底层数据结构 我搜索过网络,但是找不到答案。 How do I implement a Hashtable using a Binary Search Tree?的答案就像将BST包装到哈希表中一样,我认为这并不意味着使用BST实现哈希表 。
请告诉我put()
和get()
方法的代码。
答案 0 :(得分:3)
答案是你根本做不到!
BST中的插入/查找时间是O(log n),而在HashTable中它应该是O(1)
<强>更新强>
我看了这本书之后......
你错过了Gayle所指的那个 - 原来的问题是:
设计并实现一个使用链接(链表)的哈希表 处理碰撞
然后在答案结尾处说
哈希表的另一个常见实现(除了链表之外)是 使用BST作为底层数据结构。
它指的是与原始问题相同的东西:BST的使用仅在发生冲突时,这意味着桶部分将实现为BST / List而不是哈希映射本身!