数据结构综合习题2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
综合习题2
一、 单选题
1. 具有100个结点的完全二叉树采用顺序存储结构,从根开始自左到到右按找层顺序编号为1—100,则编号为29的结点的左孩子的编号为( )
A.28
B.30
C.58
D.59
2.从逻辑结构上可以把数据结构分成( )。
A.动态结构和静态结构
B.紧凑结构和非紧凑结构
C.线性结构和非线性结构
D.内部结构和外部结构
3.在顺序表的表尾插入一个数据元素的时间复杂度为( )。
A.)(n O
B.)(log n O
C. )(2n O
D.)1(O
4.带头结点的单链表head 为空的判定条件是( )。
A.head==NULL
B.head->next==NULL
C.head!=NULL
D.head->next!=NULL
5.假定利用数组a[N]顺序存储一个栈,用top==-1表示栈空,并已知栈未满,当数据元素x 进栈时所执行的操作为( )。
A. a[top++]=x
B. a[--top]=x
C. a[++top]=x
D. a[top--]=x
6.循环队列用数组q[m]存放其数据元素值,已知其头尾指针分别是front 和rear 。从该队列中删除数据元素时,应该执行的操作是( )。
A.front=front+1
B.front++
C.front+1
D.front==(front+1) % m
7.遍历一棵二叉树,在前序序列、中序序列和后序序列中所有叶结点的相对次序( )。
A.都不相同
B.完全相同
C.前序和中序相同
D.中序和后序相同
8. 树最适合用来表示( )。
A.有序数据元素
B.无序数据元素
C.元素之间具有分支层次关系
D.元素之间无联系的数据
9. 若某二叉树的前序序列为STUWV,中序序列为UWTVS,则后序序列为( ) 。
A .UWVTS B. VWUTS C. WUVTS D. WUTSV
10. 设m,n 为二叉树上的两个结点,在中序遍历时,m 在n 前面的条件是( )。
A. m 在n 的左面
B. m 在n 的右面
C .m 是n 的祖先 D. m 是n 的子孙
11. 采用邻接表存储的图的广度优先搜索算法类似于二叉树的( )。
A. 前序遍历
B. 中序遍历
C. 后序遍历
D. 按层遍历
12.对于一个具有n 个顶点e 条边的无向图,若采用邻接表表示,则表头向量的
大小为( )。
A.n
B.n-1
C.n+1
D.n+e
13.对于一个具有n个顶点e条边的无向图,若采用邻接表表示,则邻接表(即
边表)中的结点总数为( )。
A.e
B.2e
C.e/2
D.n+e
14. 对于长度为11的顺序存储的有序表,若采用二分查找,则查找第7个结点的
查找长度为()。
A.4
B.3
C.2
D.1
15.下述几种排序方法中,要求内存量最大的是( )。
A.选择排序
B.插入排序
C.归并排序
D.快速排序16.设广义表为A=(a,b,(c,d),(e,(f,g))),则head(tail(head(tail(tail(A)))))的值是()。
A.(c)
B.(d)
C.(c,d)
D.d
17.二维数组A行下标i的范围从1到12,列下标j的范围从1到8,采用行优先顺序存储,每个数据元素占用4个存储单元,该数组的首地址(即A[1][1]的地址)为1200,则A[6][3]的地址为()。
A.1400
B.1404
C.1372
D.1368
二.填空题
1.在n个结点的顺序表中插入一个结点,表中结点平均移动次数为_________。2.串(又称字符串)是一种特殊的线性表,其中的数据元素都是单个。
3.一棵完全二叉树有221个结点,则该二叉树中有__________个叶子结点。
4. 一棵严格的二叉树(无度为1的结点)有399个结点,则该二叉树有______
个叶子结点。
4.具有n个结点的二叉链表有_______个非空指针域, 有_______个非空指针域。5.m阶B树,每个结点(根,叶除外)至少有______________个孩子结点。6.将一棵树转换成二叉树后,二叉树的根结点没有子女。
7.根据(62,28,16)建立的二叉排序树,中序遍历的结果是________________。
8.具有n个顶点的无向图最多有___________条边,最少有___________条边。
9. 具有n个顶点的连通图的生成树是一个极小连通子图,它会有图中的_____
条边。
10. 非连通无向图G,共有18条边,则该图至少有_____个顶点。
11.用弗洛伊德算法求所有顶点之间的最短路径,其时间复杂度为__________。
12. 用迪杰斯特拉算法求解单源最短路径问题,其时间复杂度为___________。
13. Prim算法的时间复杂度为___________。
14.对n个记录进行起泡排序,最坏情况下的比较次数是______________。15. 在散列存储中,用拉链法解决冲突不会产生__________。
第三题判断题
1.所有内部排序算法均是基于关键字之间的比较来实现的。()
2.决定散列表平均查找长度的因素有三个:选用的散列函数、选用的处理冲突的方法和散列表的装填因子 。()
3.由前序序列和后序序列可以惟一地确定一个二叉树。()
4.任何一个关键活动延迟,那么整个工程将会延迟。()
5.顺序查找方法只适用于顺序表,不适用于链表。()
6. 顺序存储方式只能用于存储线性结构。()
7.有回路的有向图不能进行拓扑排列。()
8. 一个有向图的邻接表和逆邻接表中的结点数可能是不相等的。()
9.设有10000个无序的元素,希望用最快的速度挑选出其中前2个最大的元素,最好选用快速排序法。()
10. 一般情况下,将递归的算法转换成非递归的算法将借助栈来完成。()
11. 含有n个结点的二叉判定树是唯一的,而二叉排序树却不唯一。()
12. 建立线索二叉树的主要目的是可以快速地访问某种遍历次序下的直接前驱
和后继结点,但线索对于访问前序的前驱和后序的后继仍不方便。()
第四题应用题
1.如果进栈的数据元素序列为1,2,3,4,5,6,能否得到4,3,5,6,1,2和1,3,5,4,2,6的出栈序列?并说明为什么不能得到或如何得到。
2. 用序列40,72,38,35,67,39建立一个二叉排序树。
⑴画出二叉排序树;
⑵假设查找表中每个记录的概率相同,求查找成功时的平均查找长度。