秩树中的选择算法

时间:2018-01-29 11:02:21

标签: c++ select binary-search-tree

我正在寻找一个给出索引k的算法,找到树中第k个最小的数字(称之为x),并返回所有大于x的数字的总和。

假设我有一个5个节点的等级树,Select(2)应该返回树中最大3个节点的总和。

我在C ++中使用此代码,但我认为在某些情况下我得到的结果不准确,我无法解决我的算法错误。我在树的每个节点中添加了两个新字段,其中每个节点都包含其大小的字段。子树(字段:W)和其中所有节点的总和。子树(字段:sub)。

以下是代码:

B1:P1

}

0 个答案:

没有答案