数据结构模拟试题二
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模拟试题二
一、选择题
1.下面的序列中,()是堆。
(A)1,2,8,4,3,9,10,5 (B) 1,5,10,6,7,8,9,2
(C)9,8,7,6,4,8,2,1 (D) 9,8,7,6,5,4,3,7
2.下图(一)的二叉树的中序线索为()。
3.设循环队列Q[1……N-1]的头尾指针为F,R,当插入元素时尾指针R加1,头指针F总是指在队列中第一个的元素的前一位置,则队列中元素计数为()。
(A)R-F (B)N-(R-F) (C)(R-F+N)%N (D)(F-R+N)%N
4.设一数列的顺序为1,2,3,4,5,6,通过栈操作可以得到()的输出数列。
(A)3,2,5,6,4,1 (B)1,5,4,6,2,3
(C)6,4,3,2,5,1 (D)3,5,6,2,4,1
5.具有n个顶点的完全有向图的边数为()。
(A)n*(n-1)/2 (B)n*(n-1) (C)n*n (D)(n*n)-1
6.具有2000个结点的二叉树,其高度至少为()。
(A)9 (B)10 (C)11 (D)12
二、填空题
1.在散列(Hash)表查找中,评判一个散列函数优劣的两个主要条件是()和()。
2.假设用向量V[0……m-1]来存储栈,m表示栈的最大容量,则入栈操作为
( top=top+1;v[top]=x; ),出栈操作为()。
3.已知某图的邻接表存储结构如下:
那么针对该邻接表的深度优先遍历结果为();广度优先遍历结果为
()。
4.设根结点处在第一层,那么具有n个结点的完全二叉树,其高度为()。
5.快速排序方法的最坏时间复杂度为();平均时间复杂度为
()。
6.给定表(55,63,44,38,75,80,31,56),用筛选法建立初始堆,则初始堆表为
()。
*7.模式'abbababbba'的前缀函数next[j]为()。
8.设图G的顶点数为n,边数为e,各顶点的度数为D(Vi),则e=( )。
三、应用题
1.若一棵非空的二叉树,其左右子树均为二叉排序树,且左子树的根的键值小于根节点的键值,根节点的键值不大于右子树的键值,则非空的二叉树是二叉排序树,对吗?为什么?
2.快速排序、插入排序、归并排序、堆排序,哪一种排序方法所需的辅助空间最大?请简单说明。
3.假定有n个关键字,具有相同的散列函数值,如果用线性探测法把这n个关键字放到散列表中,要做多少次探测?
4.给定下图,请用图示过程描述求出最小代价生成树的步骤。
四、算法设计题
1.在一个由元素组成的表中,出现次数最多的元素称为众数,给出寻找众数的算法,如有多个众数,一并找到并输出。
2.已知表(K1,K2,……,Kn),其中Ki为正整数,设计一个算法,能在O(n)的时间内将线性
表划分为两部分,其左半部分的每个关键字均小于K1,右半部分的每个关键字均大于等于K1.
3.假设在二叉树链表的结点中增设两个域:双亲(Parent)以指示其结点:标志域(flag取值0……2)以区分在遍历过程中到达该结点时应继续向左或向右访问该结点。
试以此存储结构编写不用栈进行后序的递推形式的算法。