数据结构模拟试题二

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)以区分在遍历过程中到达该结点时应继续向左或向右访问该结点。试以此存储结构编写不用栈进行后序的递推形式的算法。

相关文档
最新文档