工学

填空题若二又树采用的是二又链表存储结构.要交换其所有分支结点左右子树的位置利用()遍历方斌最合适。

题目
填空题
若二又树采用的是二又链表存储结构.要交换其所有分支结点左右子树的位置利用()遍历方斌最合适。
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

编写递归算法,交换二叉链表存储的二叉树中每个结点的左、右子树。


参考答案:

第2题:

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

A.一般二又树

B.根结点无左孩子的二叉树

C.所有的结点只有左子树的二叉树

D.所有的结点只有右子树的二叉树


正确答案:D
解析:本题考查二叉树的遍历及相关特性。根据二叉树前序遍历和中序遍历的特点,如果它们的遍历序列相同,那么首先遍历到的结点肯定是根结点,但在中序遍历中首先遍历的是左子树,因此,我们可以推断其左子树为空。所以,此二叉树为所有的结点只有右子树的二叉树。

第3题:

采用二叉链表作为树的存储结构,树的前序遍历和其相应的二叉树的前序遍历的结果是一样的。

A.错误

B.正确


参考答案:B

第4题:

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

A.三叉链表

B.二叉链表

C.顺序

D.索引


正确答案:A
解析:若二叉树采用二叉链表结构,则链表中只有孩子结点的地址,而无双亲结点的地址,而遍历过程中又需要结点的双亲结点的地址,为此,遍历操作设置一个堆栈来达到这个目的。如果不设置堆栈,则需要采用三叉链表结构,因为三叉链表中除了孩子结点的地址以外,还保存了结点的双亲结点的地址,故选择A。

第5题:

在二叉树的顺序存储中,每个结点的存储位置与其父结点、左右子树结点的位置都存在一个简单的映射关系,因此可与三叉链表对应。若某二叉树共有n个结点,采用三叉链表存储时,每个结点的数据域需要d个字节,每个指针域占用4个字节,若采用顺序存储,则最后一个结点的下标为k(起始下标为1),那么(39)时采用顺序存储更节省空间。

A.

B.

C.

D.


正确答案:A
解析:采用三叉链表存储二叉树时,每个结点需要占用d+4*3个字节,n个结点则需要 n(d+12)。若顺序存储最后一个结点的下标为k,则共需kd个字节。显然,kdn(d+12)时采用顺序存储更节省空间,即要求(作图)。

第6题:

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

A.前序遍历算法

B.层次遍历算法

C.后序遍历算法

D.中序遍历算法


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

第7题:

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

A.二叉链表

B.顺序存储结构

C.三又链表

D.广义表存储结构


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

第8题:

采用二叉链表作为存储结构,树的先根遍历和其相应的二叉树的前序遍历的结果是一样的。()


参考答案:正确

第9题:

若某二叉树中的所有结点值均大于其左子树上的所有结点值,且小于右子树上的所有结点值,则该二叉树遍历序列中有序的是( )。

A.前序序列

B.中序序列

C.后序序列

D.以上说法均可以


正确答案:B
二叉树遍历可以分为3种:前序遍历(访问根结点在访问左子树和访问右子树之前)、中序遍历(访问根结点在访问左子树和访问右子树两者之间)、后序遍历(访问根结点在访问左子树和访问右子树之后)。由于结点值均大于其左子树上的所有结点值,且小于右子树上的所有结点值,那么只要遍历时访问根结点在访问左子树和右子树之间,遍历序列有序,即中序序列有序。故选B选项。

第10题:

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

A.先根

B.中根

C.后根

D.层次


正确答案:B

更多相关问题