参考答案和解析
答案:C
解析:
前序遍历:首先访问根结点,再依次按前序遍历的方式访问跟结点的每一棵子树。访问根结点→先序遍历根的左子树→先序遍历根的右子数后序遍历:首先按后序遍历的方式访问根结点的每一棵子树,然后再访问根结点。后序遍历根的左子树→后序遍历根的右子数→访问根结点中序遍历:首先按中序遍历根的左子树,访问根结点,最后中序遍历根的右子树。中序遍历根的左子树→访问根结点→中序遍历根的右子树层次遍历:首先访问第一层上的根结点,然后从左到右依次访问第二层上的所有结点,再以同样的方式访问第三层上的所有结点······,最后访问树中最低一层的所有结点。
更多“对于一棵非空二叉树,若先访问根节点的每一棵子树,然后再访问根节点的方式通常称为__( )__。”相关问题
  • 第1题:

    有一棵非空二叉树(第0层为根节点),其第i层上至多有多少个节点? ______。

    A.2i

    B.2i-1

    C.2i+1

    D.i


    正确答案:A

  • 第2题:

    将一棵树转换为一个二叉树后,该二叉树必定()

    A、没有左子树

    B、没有右子树

    C、所有的节点都没有左子树

    D、所有的节点都没有右子树


    参考答案:B

  • 第3题:

    由关键字序列(12,7,36,25,18,2)构造一棵二叉排序树(初始为空,第一个关键字作为根节点插入,此后对于任意关键字,若小于根节点的关键字,则插入左子树中,若大于根节点的关键字,则插入右子树中,且左、右子树均为二叉排序树),该二叉排序树的高度(层数)为______。

    A.6

    B.5

    C.4

    D.3

    A.

    B.

    C.

    D.


    正确答案:C

  • 第4题:

    已知一棵二叉树的先根序列为ABDGCFK,中根序列为DGBAFCK,则节点的后根序列为______。

    A.ACFKDBG

    B.GDBFKCA

    C.KCFAGDB

    D.ABCDFKG


    正确答案:B

  • 第5题:

    若一棵二叉树中只有叶结点和左、右子树皆非空的结点,设叶结点的个数为n,则左、右子树皆非空的结点个数是 ______。


    正确答案:n-1
    n-1 解析:除了叶子结点左右子树皆非空的二叉树其左右子树皆非空的结点度都为2,假设左右子树皆非空的结点数为x,则树的度的总数为n+x-1,并且所有度都是这些左右子树皆非空的结点引出的,为2x,所以n+x-1=2x,得到x=n-1。

  • 第6题:

    一棵二叉树第六层(根节点为第一层)的结点数最多为个。


    正确答案:32
    二叉树的一个性质是,在二叉树的第k层上,最多有2k-l(k>=1)个结点。由此,26-1=32。所以答案为32。

  • 第7题:

    如果二叉树中任何二个节点的值都大于它的左子树上所有节点的值而小于右子树上所有节点的值,要得到各节点值的递增序列,应按下列哪种次序排列节点?

    A.先根

    B.中根

    C.后根

    D.层次


    正确答案:B
    解析:中根序列的顺序从逻辑上来说总是“左一根一右”,在本题中,这样的遍历顺序正好构成一个递增序列。

  • 第8题:

    下列关于哈夫曼树的叙述错误的是

    A.一棵哈夫曼树是带权路径长度最短的二叉树

    B.一棵哈夫曼树中叶节点的个数比非叶节点的个数大1

    C.一棵哈夫曼树节点的度要么是0,要么是2

    D.哈夫曼树的根节点的权值等于各个叶节点的权值之和


    正确答案:C
    解析:哈夫曼树中节点的度可以是0,1,2。

  • 第9题:

    一棵二叉树第六层(根节点为第一层)的节点数最多为______。


    正确答案:
    在二叉树的第k层上,最多有2k-1(k>1)个结点。

  • 第10题:

    前序遍历和中序遍历结果相同的二叉树是()。

    A.所有节点只有左子树的二叉树
    B.所有节点只有右子树的二叉树
    C.根节点无左孩子的二叉树
    D.根节点无右孩子的二叉树

    答案:B
    解析:
    前序遍历是首先访问根节点,然后前序遍历左子树,最后前序遍历右子树。中序遍历是首先中序遍历左子树,然后访问根节点,最后中序遍历右子树。当所有节点都没有左子树时,前序遍历和中序遍历的遍历结果相同。

  • 第11题:

    二叉排序树或者是一棵空树,或者是具有下列性质的一棵二叉树:(1)若左子数不空,则左子树所有结点的值();(2)若右子数不空,则右子树所有结点的值(); (3)左右子树又分别是()。


    正确答案:均小于根结点的值;均大于根结点的值;二叉排序树

  • 第12题:

    多选题
    二叉树是有(  )基本单元构成。
    A

    根节点

    B

    叶节点

    C

    左子树

    D

    右子树


    正确答案: D,C
    解析:

  • 第13题:

    二叉树是节点的有限集合,这个有限集合或者为【 】,或者由一个根节点及两棵不相交的、分别称为根的左子树和右子树的二叉树组成。


    正确答案:空集或空
    空集或空 解析:本题考查“二叉树”概念的理解。二叉树是数据结构中的—个重要概念,二叉树的定义是—个递归定义,从—个空集开始定义展开,这里填写空集或空均可。

  • 第14题:

    若二叉树的前序遍历序列与中序遍历序列相同且树中节点数大于1,则该二叉树的______。

    A.只有根节点无左予树

    B.只有根节点无右子树

    C.非叶子节点只有左子树

    D.非叶子节点只有右子树

    A.

    B.

    C.

    D.


    正确答案:D

  • 第15题:

    二叉排序树或者是一棵空树,或者是具有如下性质的二叉树:特其左子树非空,则左子树上所有节点的值均小于根节点的值;若其右子树非空,则右子树上所有节点的值均大于根节点的值;其左、右子树本身就是两棵二叉排序树。根据该定义,对一棵非空的二叉排序树进行______遍历,可得到一个节点元素的递增序列。

    A.前序(根、左、右)

    B.中序(左、根、右)

    C.后序(左、右、根)

    D.层序(从树根开始,按层次)

    A.

    B.

    C.

    D.


    正确答案:D

  • 第16题:

    在【 】中,若树不为空,则访问根结点,依次按前序遍历方式遍历根的每一棵子树。


    正确答案:前序遍历
    前序遍历 解析:前序遍历若树不为空,则1、访问根结点;2、依次按前序遍历方式遍历根的每一棵子树。后序遍历若树不为空,则1、依次按后序遍历方式遍历根的每一棵子树;2、访问根结点。

  • 第17题:

    阅读下列说明和C程序,将应填入(n)处的字句写在对应栏中。

    [说明]

    借助一个栈结构,可实现二叉树的非递归遍历算法。InOrderTraverse数实现中序非递归遍历,遍历

    过程如下:

    若不是空树,根节点入栈,进入左子树;若已经是空树,则栈顶元素出栈,访问该元素(根节点),进入该节点的右子树,继续直到遍历完成。

    函数中使用的预定义符号如下:

    typedef struct BiTNode{

    int data;

    struct BiTNode *iChiid,*rChiid;

    } BiTNode,*BiTree;

    typedef struct SNode{/*链栈的节点类型*/

    BiTree elem;

    struct SNode *next;

    }SNode;

    [函数]

    int InOrderTraverse(BiTree root)

    {

    BiTree P;

    SNode *q,*stop=NULL;/*不带头节点的单链表作为栈的存储结构*/

    P=root;

    while(p !=NULL || stop !=NULL){

    if( (1) ){ /*不是空树*/

    q=(SNode*)malloc(sizeof q);

    if(q==NULL)return-1;

    /*根节点指针入栈*/

    (2);

    q->elem=P;

    stop=q;

    P=(3); /*进入根的左子树*/

    }else{

    q=stop;

    (4); /*栈顶元素出栈*/

    printf("%d|,q->elem->data); /*防问根节点*/

    P=(5); /*进入根的右子树*/

    free(q); /*释放原栈顶元素*/

    }/*if*/

    }/*while*/

    return 0;

    }/*InOrderTraverse*/

    (1)


    正确答案:P!=NULL
    P!=NULL

  • 第18题:

    在一棵非空二叉树中,叶子节点的总数比度为2的节点总数多(43)个。

    A.-1

    B.0

    C.1

    D.2


    正确答案:C
    解析:根据二叉树的第3条性质“对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1”,所以本题应该选择C。如果对二叉树的性质不熟悉,也可以用特例来解答此类题目。因为从题目的意思不难理解,这种情况对任何一颗非空二叉树都存在。所以,可以例举一棵最简单的二叉树——只有3个结点的满二叉树,它只有1个根,2个叶子。则度为2的结点只有1个根结点,所以叶子结点的总数比度为2的结点总数多1个。

  • 第19题:

    二叉树是节点的有限集合,这个有限集合或者为______,或者由一个根节点及两棵不相交的、分别称做为根的左子树和右子树的二叉树组成。


    正确答案:空集
    空集 解析:本题考查“二叉树”概念的理解。
    二叉树是数据结构中的一个重要概念,二叉树的定义是一个递归定义,从一个空集开始定义展开,这里填写空集或空均可。

  • 第20题:

    设森林F对应的二叉树为B,它有m个节点,B的根为p,p的右子树上的节点个数为 n,森林F中第一棵树的节点个数是

    A.m-n-1

    B.n+1

    C.m-n+1

    D.m-n


    正确答案:D
    解析:根据二叉树与森林的对应关系,将森林F转换成对应二叉树B的规则如下:若森林F为空,则二叉树B为空。若森林F非空,则F中的第一棵树的根为二叉树B的根;第一棵树的左子树所构成的森林按规则转换成一个二叉树成为B的左子树,森林F的其它树所构成的森林按本规则转换成一个二叉树成为 B的右子树。依此规则可知:二叉树B节点的个数减去其右子树的节点的个数就是森林F的第1棵树的节点的个数。

  • 第21题:

    一棵二叉树满足下列条件:对任一结点,若存在左、右子树,则其值都小于它的左子树上所有结点的值,而大于右子树上所有结点的值。现采用【 】遍历方式就可以得到这棵二叉树所有结点的递增序列。

    A.先根

    B.中根

    C.后根

    D.层次


    正确答案:B

  • 第22题:

    二叉树是有()基本单元构成。

    A.右子树
    B.叶子节点
    C.左子树
    D.根节点

    答案:A,C,D
    解析:
    二叉树由左子树、右子树和根节点构成。

  • 第23题:

    二叉树是有()基本单元构成。

    • A、根节点
    • B、叶节点
    • C、左子树
    • D、右子树

    正确答案:A,C,D