数据结构二叉树题库

免费版:华文慕课-数据结构二叉树题库

目录

华文课后题

王道课后题

华文课后题

1、一棵有512个结点的完全二叉树的高度为多少?(独根树高度为1)

解析:

21.png

答案: 10

2、请写出下面这棵二叉树的中序遍历

Screen Shot 2017-09-05 at 23.56.59.png

解析:

左-根-右 left-root-right

答案: LXMECKPBQHDA

3、下列关于二叉树性质的说法正确的有:

 A、非空满二叉树的结点个数一定为奇数个。

解析:非空满二叉树只有度为0或者度为2两种结点,而这两种结点的个数差为1,所以加起来必为奇数。

         

          n0 = 5个     n2 = 4个       n0 = n2 + 1 

B、非完全二叉树也可以用像完全二叉树那样使用顺序存储结构进行存储。

解析:非完全二叉树无法知道每一层哪些位置缺了结点,不能像完全二叉树那样直接计算出两个儿子的编号,所以不能用顺序存储结构存储。

C、当一棵完全二叉树是满二叉树时,叶子结点不一定集中在最下面一层。

解析:只要倒数第二层的度都为0或者2,此棵完全二叉树即为满二叉树,最下面一层不一定要全满

D、完全二叉树最多只有最下面的一层结点度数可以小于2。

解析:倒数第二层也可以有度数为0的结点。

 E、一棵非空二叉树的为空的外部结点数等于其结点数加1。

解析:

设度为0,1和2的结点数为,那么为空的外部结点数目等于2+=+++1,于是等于结点数加1。

长方形为扩充的外部结点数 = 15个

圆形为原先的二叉树结点数 = 14个

 F、满二叉树的所有结点的度均为2。

解析:结点度数还可以为0。

4、已知一棵树的前序遍历为ABDEGCF,中序遍历为DBGEACF,求这棵树的后序遍历。

解析

30.png

答案: DGEBFCA

5、下列关于二叉树遍历的说法正确的有:

A、只有空二叉树一个根结点的二叉树这两种二叉树的前序和中序遍历的顺序恰好一样

解析:前序为中左右,而中序为左中右,所有结点都没有左子树后,两者恰好一样。所以所有结点左子树为空的二叉树也满足要求。

B、所有结点左子树为空的二叉树的前序和中序遍历顺序恰好一样。

解析:前序为中左右,而中序为左中右,所有结点都没有左子树后,两者恰好一样。

C、所有结点右子树为空的二叉树的前序和中序遍历顺序恰好一样。

解析: 前序为中左右,而中序为左中右,所有结点都没有右子树后,前序为中左,而中序为左中,两者不同。

D、只有空二叉树一个根结点的二叉树这两种二叉树的前序和后序遍历的顺序恰好一样

解析:前序为中左右,而后序为左右中,缺失左子树,前序为中右,而后序为右中

缺失右子树,前序为中左,而后序为左中,都不一样。(下面的选项同理)

E、所有结点左子树为空的二叉树的前序和后序遍历顺序恰好一样。

解析:前序为中左右,而后序为左右中,所以缺失左子树或者右子树都不能让两者一样。

F、所有结点右子树为空的二叉树的前序和后序遍历顺序恰好一样。

解析:前序为中左右,而后序为左右中,所以缺失左子树或者右子树都不能让两者一样。

G、只有空二叉树和一个根结点的二叉树这两种二叉树的中序和后序遍历的顺序恰好一样。

解析:中序为左中右,而后序为左右中,所有结点都没有右子树后,两者恰好一样。所以所有结点右子树为空的二叉树也满足要求。

H、所有结点左子树为空的二叉树的中序和后序遍历顺序恰好一样。

解析:中序为左中右,而后序为左右中,所有结点都没有右子树后,两者恰好一样。所以所有结点右子树为空的二叉树才满足要求。

I、所有结点右子树为空的二叉树的中序和后序遍历顺序恰好一样。

解析: 中序为左中右,而后序为左右中,所有结点都没有右子树后,两者恰好一样。

J、存在一棵非空二叉树,它的前序、中序和后序遍历都是一样的。

解析:只有一个根结点的二叉树满足要求。

6、下列关于二叉搜索树的说法正确的有

 A、二叉搜索树按照中序遍历将各结点打印出将各结点打印出来,将得到按照由小到大的排列。

解析:

 B、如果结点χ的左子树有右子树,则存在某个结点的值介于结点χ的值和χ左儿子的值之间,并且这个结点在x的左子树之中。

解析:这样的结点就位于χ的左子树的右子树中。

 C、当根结点没有左儿子时,根结点一定是值最小的结点。

解析:右子树中的结点的值都大于根结点,所以根结点的值是最小的。

 D、二叉搜索树一定是满二叉树。

解析:不一定。如果对于一个结点存在值比它大的结点,但不存在比它小的,这时它可能就只有一个儿子。

 E、二叉搜索树一定是完全二叉树。

解析:不一定。按照从小到大的顺序依次插入一些值(数量超过1个),就可以让二叉搜索树变成一条链,这样显然不是完全二叉树。

 F、从根结点一直沿右儿子向下找一定能找到树中值最大的结点。

解析:右子树中的结点的值都大于根结点,所以根结点的值是最小的。

7、

从空二叉树开始,严格按照二叉搜索树的插入算法(不进行旋转平衡),逐个插入关键码构造出一棵二叉搜索树,以怎样的顺序插入关键码集合{14,32,47,6,9,12,78,63,29,81}可以使得树的深度最小?请依次写出插入到树中的元素,每两个元素之间用一个空格隔开。

解析

通过[]=4可以得到树的最小层数。然后因为需要保证先插入的元素尽可能的小,所以可以使得右子树尽可能的满。构造出这样一棵二叉搜索树后,按照前序遍历可以得出答案。 如果有多组满足要求的方案,请使得你的答案中先插入的元素尽可能的小。

答案: 12 6 9 47 29 14 32 78 63 81

8、下列关于的说法正确的有: 

 A、堆一定是满二叉树。

解析:堆采用完全二叉树实现。

 B、最小堆中,最下面一层最靠右的结点一定是权值最大的结点。

解析:不一定。最小堆只保证了每个结点都比它的两个儿子都小,所以它左儿子的值可能比右儿子的大,所以最大的结点不一定靠右。

 C、堆是实现优先队列的惟一方法。

解析:堆只是实现优先队列的一种方法。用普通的队列也可以实现优先队列,只是效率比较低。

 D、堆一定是完全二叉树。

 E、最小堆中,某个结点左子树中最大的结点可能比右子树中最小的结点小。

解析:堆中一个结点的左儿子和右儿子并没有严格的大小关系,所以存在这种情况。

 F、使用筛选法建堆要比将元素一个一个插入堆来建堆效率高。

解析:筛选法建堆的时间复杂度为O(n),而一个一个插入建堆时间复杂度为O(nlogn)。其中,n为堆中元素个数。

9、下列关于Huffman树和Huffman编码的说法正确的有:

 A、Huffman树一定是满二叉树。

解析:在建立的过程中,每次都选取两棵子树进行合并,所以所有结点要么有两个儿子,要么没有儿子。

  • 22
    点赞
  • 123
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
可惜没有答案。。。。。 一、判断题: 1、线性表的逻辑顺序与物理顺序总是一致的。( ) 2、线性表的顺序存储表示优于链式存储表示。( ) 3、线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。( ) 4、二维数组是其数组元素为线性表的线性表。( ) 5、每种数据结构都应具备三种基本运算:插入、删除和搜索。( ) 6、数据结构概念包括数据之间的逻辑结构,数据在计算机中的存储方式和数据的运算三个 方面。( ) 7、线性表中的每个结点最多只有一个前驱和一个后继。( ) 8、线性的数据结构可以顺序存储,也可以链接存储。非线性的数据结构只能链接存储。( ) 9、栈和队列逻辑上都是线性表。( ) 10、单链表从任何一个结点出发,都能访问到所有结点 ( ) 11、删除二叉排序树中一个结点,再重新插入上去,一定能得到原来的二叉排序树。( ) 12、快速排序是排序算法中最快的一种。( ) 13、多维数组是向量的推广。( ) 14、一般树和二叉树的结点数目都可以为0。 ( ) 15、直接选择排序是一种不稳定的排序方法。( ) 16、98、对一个堆按层次遍历,不一定能得到一个有序序列。( ) 17、在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。( ) 18、折半搜索只适用与有序表,包括有序的顺序表和有序的链表。( ) 19、堆栈在数据中的存储原则是先进先出。( ) 20、队列在数据中的存储原则是后进先出。( ) 21、用相邻矩阵表示图所用的存储空间大小与图的边数成正比。(

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值