C++:对于一棵有n个结点的完全二叉树,其深度为 ( );若对其结点按层进行编号

C++:对于一棵有n个结点的完全二叉树,其深度为
( );若对其结点按层进行编号(根结点为1,每层从左到右),则对于一编号i(1<i且2i<n)的结点,其双亲结点编号为( ),其左孩子结点编号为( ),右孩子结点的编号为( )。
需要写出计算的过程,急,求帮忙help

如果根结点的层次为1,则:
n个结点的完全二叉树,深度为下取整[log2n] + 1或者上取整[log2(n+ 1)],具体过程差不多所有的数据结构的教科书上都有,利用的是二叉树的性质推出的
i的双亲编号为下取整[i/2],左孩子编号2i,右孩子编号2i + 1
所有这些用数学归纳法都可以证明的
温馨提示:答案为网友推荐,仅供参考
相似回答