Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何证明从竞争二叉树到数组的转换?_Arrays_Data Structures_Heap_Binary Tree_Heapsort - Fatal编程技术网

Arrays 如何证明从竞争二叉树到数组的转换?

Arrays 如何证明从竞争二叉树到数组的转换?,arrays,data-structures,heap,binary-tree,heapsort,Arrays,Data Structures,Heap,Binary Tree,Heapsort,一个完整的二叉树可以有效地实现为一个数组,其中索引i处的节点在索引2i和2i+1处有子节点,在索引楼层(i/2)处有父节点,并使用基于一的索引 如果子索引大于节点数,则子索引不存在 我每天都会看到这些转换,但是没有正式的证明,任何人都可以给出严格的证明或链接,谢谢 查看此链接这是用于基于0的索引。但也有基于1的索引注释漂亮的证明!我抓住了关键点:一个完整级别L上的节点数量几乎是它之前所有级别(从0到L-1)上节点数量的2倍,这就是为什么我们在表达式2*I+2中有2。

一个完整的二叉树可以有效地实现为一个数组,其中索引i处的节点在索引2i2i+1处有子节点,在索引楼层(i/2)处有父节点,并使用基于一的索引

如果子索引大于节点数,则子索引不存在


我每天都会看到这些转换,但是没有正式的证明,任何人都可以给出严格的证明或链接,谢谢

查看此链接这是用于基于0的索引。但也有基于1的索引注释

漂亮的证明!我抓住了关键点:一个完整级别L上的节点数量几乎是它之前所有级别(从0到L-1)上节点数量的2倍,这就是为什么我们在表达式2*I+2中有2。