【发布时间】:2018-06-19 09:46:16
【问题描述】:
使用哈希映射而不是指针的 BBST
我正在考虑使用哈希映射实现平衡二叉搜索树的想法。实现可以是这样的:hash-map 的 key 将是插入树中的值,hash-map 的 value 将是左值、右值和高度的元组(在 AVL 树的情况下)
10 H[10] = {7, 15, 2}
/ \ H[7] = {3, 8, 1}
7 15 ---> H[15] = {nil, 18, 1}
/ \ \ H[3] = H[8] = H[18] = {nil, nil, 0}
3 8 18
我认为它比树的标准实现没有任何优势,除了您可以在恒定时间内搜索值,然后搜索任何后继或任何其他 BBST 提供的统计信息。我们已经可以在维护指向节点的哈希映射的帮助下做到这一点,但在我看来,这种实现更容易。
有人试过吗?这是个好主意吗?
【问题讨论】:
标签: data-structures hashmap binary-search-tree