简答题

设计算法,判断一棵二叉树是否为完全二叉树。

正确答案

根据完全二叉树的定义可知,对完全二叉树按照从上到下、从左到右的次序(即层序)遍历应该满足:
⑴若某结点没有左孩子,则其一定没有右孩子;
⑵若某结点无右孩子,则其所有后继结点一定无孩子。若有一结点不满足其中任意一条,则该二叉树就一定不是完全二叉树。因此可采用按层次遍历二叉树的方法依次对每个结点进行判断是否满足上述两个条件。为此,需设两个标志变量BJ和CM,其中BJ表示已扫描过的结点是否均有左右孩子,CM存放局部判断结果及最后的结果。
具体算法如下:

答案解析

相似试题
  • 设计算法判定一棵二叉树是否为二叉排序树。

    简答题查看答案

  • 编写一个计算一棵二叉树T的高度算法。

    简答题查看答案

  • 把一棵树转换为二叉树后,这棵二叉树的形态是()。

    单选题查看答案

  • 若一棵二叉树有10个叶结点,则该二叉树中度为2的结的点个数为()

    填空题查看答案

  • 设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为()

    单选题查看答案

  • 一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为()。

    单选题查看答案

  • 设一棵二叉树其中序和后序遍历为:中序:BDCEAFHG;后序:DECBHGFA。画出这棵二叉树的逻辑结构,并写出先序遍历结果。

    简答题查看答案

  • 广度优先周游一棵二叉树所得到的结点序列,叫作这棵二叉树的层次序列。

    判断题查看答案

  • 通常将按对称次序遍历一棵二叉树得到的线性表称为这棵二叉树的对称(中根)序列。

    判断题查看答案