数据结构-----------练习册A
习题册
数据结构
强化班专属资料 提供全程答案解析
2019 年408 真题【数据结构部分】
一、 单项选择题:下列每题给出的四个选项中,只有一个选项符合试题要求。 1.设n 是描述问题规模的非负整数,下列程序段的时间复杂度是
x=0; while(n=(x+1)*(x+1))
x=x+l;
A.O(log n) B.O(n1/2) C. O(n) D.O(n2)
2.若将一棵树T 转化为对应的二叉树BT,则下列对BT 的遍历中,其编历序列与T 的后根
遍历序列相同的是
A.先序遍历 B.中序遍历 C.后序遍历 D.按层遍历
3.对n 个互不相同的符号进行哈夫曼编码。若生成的哈夫曼树共有115 个结点,则n 的值
是
A.56 B.57 C.58 D.60
4.在任意一棵非空平衡二叉树(AVL 树)T1 中,删除某结点 v 之后形成平衡二叉树T2,再
将v 插入T2 形成平衡二叉树T3。下列关于T1 与T3 的叙述中,正确的是
(I) 若v 是T1 的叶结点,则T1 与T3 可能不相同 (II) 若v 不是T1 的叶结点,则T1 与T3 一定不相同 (III) 若v 不是T1 的叶结点,则T1 与T3 一定相同
A.仅Ⅰ B.仅Ⅱ C.仅Ⅰ、Ⅱ D.仅Ⅰ、Ⅲ
5.下图所示的AOE 网表示一项包含8 个活动的工程活动d 的最早开始时间和最迟开始时
间分别是
A.3 和7 B.12 和12 C.12 和14 D.15 和15
6.用有向无环图描述表达式(x+y)*((x+y)/x),需要的顶点个数至少是
A.5 B.6 C.8 D.9
7.选择一个排序算法时,除算法的时空效率外,下列因素中,还需要考虑的是
Ⅰ.数据的规模 Ⅱ.数据的存储方式
Ⅲ.算法的稳定性 Ⅳ.数据的初始状态
A.仅Ⅲ B.仅Ⅰ、Ⅱ
C.仅Ⅱ、Ⅲ、Ⅳ D.Ⅰ、Ⅱ、Ⅲ、Ⅳ
8.现有长度为11 且初始为空的散列表HT,散列函数是H(key)=key%7,采用线性探查 (线性探测再散列)法解决冲突 将关键字序列87,40,30,6,11,22,98,20 依次
5
插入到HT 后,HT 查找失败的平均查找长度是
A.4 B.5.25 C.6 D.6.29
9.设主串T=“abaabaabcabaabc”模式串S=“abaabc”,采用KMP 算法进行模式匹配,到
匹配成功时为止,在匹配过程中进行的单个字符间的比较次数是
A.9 B.10 C.12 D.15
10.排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一“趟”。下列序列中,
不.可能是快速排序第二趟结果的是
A.5,2,16,12,28,60,32,72 B.2,16,5,28,12,60,32,72 C.2,12,16,5,28,32,72,60 D.5,2,12,28,16,32,72,60
11.设外存上有120 个初始归并段,进行12 路归并时,为实现最佳归并,需要补充的虚段
个数是
A.1 B.2 C.3 D.4
二、综合应用题 41.(13 分)设线性表L=(a1,a?,a3,…an-2,an-1,an)采用带头结点的单链表保存,链
表中结点定义如下: typedef struct node
{ int data;
struct node*next;
] NODE; 请设计一个空间复杂度为O(1)且时间上尽可能高效的算法,重新排列L 中的各结点, 得到线性表L=(a1,an,a2,an-1,a3,an-2,…)。要求: (1)给出算法的基本设计思想 (2)根据设计思想,采用C 或C++语言描述算法,关键之处给出注释。 (3)说明你所设计的算法的时间复杂度。
42.(10 分)请设计一个队列,要求满足:①初始时队列为空;②入队时,允许增加队列占 用空间;③出队后,出队元素所占用的空间可重复使用,即整个队列所占用的空间只增 不减;④入队操作和出队操作的时间
原创力文档

文档评论(0)