将一棵有100个结点的完全二叉树从根这一层开始,每一层上从左到右依次对结点进行编号,根结点的编号为1

则编号为49的结点的左孩子编号为98.为什么是98不是99?公式不是2i+1么?

编号为49的结点的左孩子编号为98,公式是2i,不是2i+1。

举个简单的例子就可以看出来的,比如7个节点时(也就是三层时),编号为1的左子树编号是2,编号2的左子树是4,编号3的左子树编号为6,以此就可以看出来。

一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同。

算法思路

判断一棵树是否是完全二叉树的思路

如果树为空,则直接返回错

如果树不为空:层序遍历二叉树

如果一个结点左右孩子都不为空,则pop该节点,将其左右孩子入队列;

如果遇到一个结点,左孩子为空,右孩子不为空,则该树一定不是完全二叉树;

以上内容参考:百度百科-完全二叉树

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-10-23

编号为49的结点的左孩子编号为98,公式是2i,不是2i+1。

举个简单的例子就可以看出来的,比如7个节点时(也就是三层时),编号为1的左子树编号是2,编号2的左子树是4,编号3的左子树编号为6,以此就可以看出来。

一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同。



扩展资料:

如果对满二叉树的结点进行编号, 约定编号从根结点起, 自上而下, 自左而右。则深度为k的, 有n个结点的二叉树, 当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时, 称之为完全二叉树。

从满二叉树和完全二叉树的定义可以看出, 满二叉树是完全二叉树的特殊形态, 即如果一棵二叉树是满二叉树, 则它必定是完全二叉树。

本回答被网友采纳
第2个回答  2010-07-05
是2i,不是2i+1,你举个简单的例子就可以看出来的,比如7个节点时(也就是三层时),编号为1的左子树编号是2,编号2的左子树是4,编号3的左子树编号为6。。。。以此就可以看出来。本回答被提问者采纳
第3个回答  2021-01-03
上边那几个答案都是错的,正确答案是90
第4个回答  2012-03-06
左结点是2i,右结点才是2i+1
相似回答