具有特殊操作的二进制搜索树

时间:2018-11-17 16:57:27

标签: algorithm binary-tree binary-search-tree

假设我们有一个普通的整数二叉搜索树。

我对3的倍数并且大于给定数x的元素数量感兴趣。另外,我对3的倍数以及严格在两个给定数字x1,x2与x1

1 个答案:

答案 0 :(得分:1)

在每个节点中,您都可以在该节点的子树中保留3的倍数的计数。

可以保持这些计数而无需更改添加/删除/旋转/重新平衡操作的复杂性。

然后计算x的3的倍数,请搜索x。每当您离开某个节点时(因为它是> x),就从该节点添加计数,然后从您移至的节点减去计数。

如果在内部节点中找到x,请添加其右子节点的计数。