对于任意非空二叉树,要设计出其后序遍历的非递归算法而不使用堆栈结构,最合适的方法是对该二叉树采用(43)存储结构。A.三叉链表B.二叉链表C.顺序D.索引

题目

对于任意非空二叉树,要设计出其后序遍历的非递归算法而不使用堆栈结构,最合适的方法是对该二叉树采用(43)存储结构。

A.三叉链表

B.二叉链表

C.顺序

D.索引


相似考题
参考答案和解析
正确答案:A
解析:若二叉树采用二叉链表结构,则链表中只有孩子结点的地址,而无双亲结点的地址,而遍历过程中又需要结点的双亲结点的地址,为此,遍历操作设置一个堆栈来达到这个目的。如果不设置堆栈,则需要采用三叉链表结构,因为三叉链表中除了孩子结点的地址以外,还保存了结点的双亲结点的地址,故选择A。
更多“对于任意非空二叉树,要设计出其后序遍历的非递归算法而不使用堆栈结构,最合适的方法是对该二叉树 ”相关问题
  • 第1题:

    按照二叉树的递归定义,对二叉树遍历的常用算法有深度优先遍历和深度优先遍两种方法。()

    此题为判断题(对,错)。


    标准答案:错

  • 第2题:

    若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的( )。

    A.前序遍历算法

    B.层次遍历算法

    C.后序遍历算法

    D.中序遍历算法


    正确答案:D
    解析:在存储结点信息的同时,附加两个分别指向该结点最左孩子和右邻兄弟的指针域,即可得树的孩子兄弟链表表示。这种存储结构的最大优点是:它和二叉树的二叉链表表示完全一样。可利用二叉树的算法来实现对树的操作。其后序遍历对应二叉树的中序遍历;中序遍历对应二叉树的后序遍历;前遍历对应二叉树的前序遍历。

  • 第3题:

    后序遍历序列与中序遍历序列相同的二叉树为(85),前序遍历序列与后序遍历序列相同的二叉树为(86)。

    A.根结点无左子树的二叉树

    B.根结点无右子树的二叉树

    C.只有根结点的二叉树或非叶子结点只有左子树的二叉树

    D.只有根结点的二叉树或非叶子结点只有右子树的二叉树


    正确答案:C

  • 第4题:

    一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足()。

    A.所有的结点均无左孩子
    B.所有的结点均无右孩子
    C.只有一个叶子结点
    D.是任意一棵二叉树

    答案:C
    解析:
    先序遍历的次序为根一左一右,而后序遍历的次序为左一右一根,,先序遍历与后序遍历相对次序可以相反的部分为根一左(对后序的左一根),或者是根一右(对后序的右一根),所以满足条件的二叉树只有一个叶子结点。

  • 第5题:

    按照二叉树的递归定义,对二叉树遍历的常用算法有()、()、()三种。
    先序;中序;后序

  • 第6题:

    不使用递归,也可以实现二叉树的前序、中序及后序遍历。


    正确答案:正确

  • 第7题:

    后序遍历二叉树的的操作定义为;若二叉树为空,则为空操作,否则进行如下操作,后序遍历二叉树的();后序遍历二叉树的(),访问而叉树的()。


    正确答案:左子树;右子树;根结点

  • 第8题:

    数据结构里,二叉树的遍历算法可以用()算法来实现,因为其定义是递归定义的。

    • A、递归
    • B、逆推
    • C、回溯
    • D、分治

    正确答案:A

  • 第9题:

    填空题
    后序遍历二叉树的的操作定义为;若二叉树为空,则为空操作,否则进行如下操作,后序遍历二叉树的();后序遍历二叉树的(),访问而叉树的()。

    正确答案: 左子树,右子树,根结点
    解析: 暂无解析

  • 第10题:

    单选题
    欲实现任意二叉树的后序遍历的非递归算法而不必使用栈,最佳方案是二叉树采用()存储结构。
    A

     三叉链表

    B

     广义表

    C

     二叉链表

    D

     顺序


    正确答案: D
    解析: 暂无解析

  • 第11题:

    单选题
    前序遍历序列与后序遍历序列相同的二叉树为()
    A

    非叶子结点只有左子树的二叉树

    B

    只有根结点的二叉树

    C

    根结点无右子树的二叉树

    D

    非叶子结点只有右子树的二叉树


    正确答案: C
    解析: 暂无解析

  • 第12题:

    填空题
    实现任意二叉树的后序遍历的非递归算法而不适用栈结构,最佳的二叉树方法是采用()。

    正确答案: 三叉列表的存储结构
    解析: 暂无解析

  • 第13题:

    设二叉树如右:对该二叉树进行后序遍历的结果为______。


    正确答案:EDBGHFCA。
    EDBGHFCA。 解析:先遍历左子树,然后遍历右子树,最后遍历访问根结点,各子树都是同样的递归遍历。

  • 第14题:

    实现任意二叉树的后序遍历的非递归算法用栈结构,最佳方案是二叉树采用______存储结构。

    A.二叉链表

    B.顺序存储结构

    C.三又链表

    D.广义表存储结构


    正确答案:C
    解析:二叉树的存储有:顺序存储、二叉链表、三叉链表。
      遍历算法有:先序、中序和后序。所谓先后是针对访问根节点与访问子节点的相对顺序而言的。另外,还有层序遍历。
      对于后序遍历的非递归算法,用栈实现,用三叉链表是比较好的。

  • 第15题:

    对二叉树进行后序遍历和中序遍历时,都依照左子树在前右子树在后的顺序。已知对某二叉树进行后序遍历时,结点M是最后被访问的结点,而对其进行中序遍历时,M是第一个被访问的结点,那么该二叉树的树根结点为M,且( )。

    A.其左子树和右子树都必定为空
    B.其左子树和右子树都不为空
    C.其左子树必定为空
    D.其右子树必定为空

    答案:C
    解析:
    前序遍历:先遍历根结点,然后遍历左子树,最后遍历右子树。中序遍历:先遍历左子树,然后遍历根结点,最后遍历右子树。后序遍历:先遍历左子树,然后遍历右子树,最后遍历根节点。结点M是树根结点,而在中序遍历的时候,M是第一个被访问的结点,那么可以看出其左子树应该为空。

  • 第16题:

    对于一棵非空二叉树,若先访问根节点的每一棵子树,然后再访问根节点的方式通常称为__( )__。

    A.先序遍历
    B.中序遍历
    C.后序遍历
    D.层次遍历

    答案:C
    解析:
    前序遍历:首先访问根结点,再依次按前序遍历的方式访问跟结点的每一棵子树。访问根结点→先序遍历根的左子树→先序遍历根的右子数后序遍历:首先按后序遍历的方式访问根结点的每一棵子树,然后再访问根结点。后序遍历根的左子树→后序遍历根的右子数→访问根结点中序遍历:首先按中序遍历根的左子树,访问根结点,最后中序遍历根的右子树。中序遍历根的左子树→访问根结点→中序遍历根的右子树层次遍历:首先访问第一层上的根结点,然后从左到右依次访问第二层上的所有结点,再以同样的方式访问第三层上的所有结点······,最后访问树中最低一层的所有结点。

  • 第17题:

    前序遍历序列与后序遍历序列相同的二叉树为()

    • A、非叶子结点只有左子树的二叉树
    • B、只有根结点的二叉树
    • C、根结点无右子树的二叉树
    • D、非叶子结点只有右子树的二叉树

    正确答案:B

  • 第18题:

    欲实现任意二叉树的后序遍历的非递归算法而不必使用栈,最佳方案是二叉树采用()存储结构。

    • A、 三叉链表
    • B、 广义表
    • C、 二叉链表
    • D、 顺序

    正确答案:A

  • 第19题:

    实现任意二叉树的后序遍历的非递归算法而不适用栈结构,最佳的二叉树方法是采用()。


    正确答案:三叉列表的存储结构

  • 第20题:

    一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足()。

    • A、所有的结点均无左孩子
    • B、所有的结点均无右孩子
    • C、只有一个叶子结点
    • D、是一棵满二叉树

    正确答案:C

  • 第21题:

    单选题
    数据结构里,二叉树的遍历算法可以用()算法来实现,因为其定义是递归定义的。
    A

    递归

    B

    逆推

    C

    回溯

    D

    分治


    正确答案: B
    解析: 暂无解析

  • 第22题:

    填空题
    按照二叉树的递归定义,对二叉树遍历的常用算法有()、()、()三种。

    正确答案: 先序,中序,后序
    解析: 暂无解析

  • 第23题:

    判断题
    不使用递归,也可以实现二叉树的前序、中序及后序遍历。
    A

    B


    正确答案:
    解析: 暂无解析