algorithm - CLRS 的 Fibonacci Heap size(x) 分析有缺陷?

标签 algorithm heap clrs fibonacci-heap

在CLRS的Introduction to Algorithms 3rd edition P.525中,当它分析size(x)的下界时,有一句话我引用为“因为向节点添加子节点不能减小节点的大小,所以值Sk 随 k"单调增加。但实际上,我想我可以举一个反例来说明Sk不一定随k单调递增。在下图中,key=1的节点的度数为2,没有其他度数为2的节点。所以S2=8。同样,S3=6。但是现在 S3 小于 S2,这意味着 Sk 根本不随 k 单调增加。

2 - 0 - 4 - 2 - 5 - 8 - 7 -  1
            |               /  \
            8              2    9
                              / | \
                             10 14 16
                             |  |
                             11 15

可以通过执行一系列切割和级联切割从无序二项式子树派生堆。

我想知道上面的结构是否是一个有效的斐波那契堆。如果是这样,那么它也是一个有效的反例。

最佳答案

Sk 被定义为最大的下限,使得 every 可能的 Fibonacci 堆中的每个 k 度子树至少有 Sk 后代。

关于algorithm - CLRS 的 Fibonacci Heap size(x) 分析有缺陷?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7291563/

相关文章:

c - 代码的时间复杂度或大O

java - 使用java构建最小堆

sql - 间隔表中的间隔

arrays - 我们如何根据运行时性能在两种排序算法之间切换?

python - 螺旋图案 : how do I find a number given coordinates?

Python:如何按列遍历列表列表,就好像它是一个普通的二维数组(矩阵)一样?

c++ - 用列表创建堆会导致错误

algorithm - 我的转换函数是否正确(字符串与有限自动机匹配)

algorithm - 在线性时间内打印出不相交集数据结构中的节点

algorithm - 棒材切割的结果计算