2018年北京工业大学北京未来网络科技创新中心895计算机学科专业基础[专硕]之数据结构考研基础五套测试题
● 摘要
一、填空题
1. 对单链表中元素按插入方法排序的C 语言描述算法如下,其中L 为链表头结点指针。请填充算法中标出的空白处,完成其功能。
:_____:
{_____)
(_____、
:_____;_____;p =u ;
【答案】(1)L﹣>next =NULL //置空链表,然后将原链表结点逐个插入到有序表中 (2)p!=NULL //当链表尚未到尾,p 为工作指针
(3)q!=NULL //查P 结点在链表中的插入位置,这时q 是工作指针 (4)p﹣>next =r ﹣>next //将P 结点链入链表中
(5)r﹣>next =p //r是q 的前驱,u 是下个待插入结点的指针
2. 若不考虑基数排序,则在排序过程中,主要进行的两种基本操作是关键字的 _____和记录的_____。
【答案】比较;移动
3.
给定一组数据WPL 的值为_____。
【答案】5;96
【解析】每次找两个最小的权值构建哈夫曼树:
第 2 页,共 70 页
以它构造一棵哈夫曼树,则树高为_____,带权路径长度
4. 已知二维数组
【答案】1196
【解析】设元素的行标为i ,列标为j 。则它的存储位置为:l000+[(i﹣l)*l0+(j﹣0)]*4
5. 已知如下程序段:
语句1执行的时间复杂度为_____:语句2执行的时间复杂度为_____:语句3执行的时间复杂度为_____:语句4执行的时间复杂度为_____。
【答案】(1)n+1 (2)n
(3)n(n+3)/2 (4)n(n+l)/2
【解析】语s 句1执行到不符合条件情况下,执行了n +1次。当语句1不符合条件了是不会执行语句2的,所以语句2被执行了n 次。语句3每次都要执行到不符合条件,故为2+3+4...... +(n+l) 加起来就是n(n+3)/2。语句3不符合条件了是不会执行语句4的。所以语句4被执行了1+2+3...... +n 即n(n+l)/2。
6. 已知;t) ,LEN(t)+1))
:
【答案】
中每个元素占4个单元,在按行优先方式将其存储到起始地址
为1000的连续存储区域时,A[5,9]的地址是: _____。
;ASSIGN(S,U) ;ASSIGN(V,SUBSTR(S,INDEX(S,,求REPLACE(S,V ,m) =_____。
7. 当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_____存储结构。
【答案】顺序
【解析】顺序存储结构的存取操作比较方便,但插入和删除操作不如链式存储结构方便,而且需要连续的存储空间,由于该线性表的元素总数基本稳定,而且很少进行插入删除操作,为了更快的存取元素,顺序表更合适。
8. 高度为4的3阶B-树中,最多有_____个关键字。
【答案】26
【解析】第4层是叶结点,1层至3层每个结点两个关键字,每个节点的关键字达到最大时,
第 3 页,共 70 页
关键字最多。
9. 属于不稳定排序的有_____。
【答案】希尔排序、简单选择排序、快速排序、堆排序等
10.二叉树由_____,_____,_____三个基本单元组成。
【答案】根结点;左子树;右子树
11.设用希尔排序对数组{98,36,-9,0,47,23,1,8,10,7}进行排序,给出的步长(也称增 量序列) 依次是4, 2, 1则排序需_____趟,写出第一趟结束后,数组中数据的排列次序_____。
【答案】3; (10,7,-9,0,47,23,1,8,98,36)
12.对n 个记录的表
【答案】n (n-1) /2
【解析】第一次需要n -1次比较,第i 此需要n -i 此比较,所以共需要
。
进行简单选择排序,所需进行的关键字间的比较次数为_____。
二、单项选择题
13.float 类型(即IEEE754单精度浮点数格式) 能表示的最大正整数是( )。
A. B. C. D. 【答案】D 。
【解析】IEEE754单精度浮点数尾数采用隐藏位策略的原码表示, 且阶码用移码表示的浮点数。规格化的短浮点数的真值为:
故float 类型能表示的最大整数是
。
14.下列说法不正确的是( )。
A. 图的遍历是从给定的源点出发每个顶点仅被访问一次 B. 遍历的基本方法有两种:深度遍历和广度遍历 C. 图的深度遍历不适用于有向图 D. 图的深度遍历是一个递归过程 【答案】C
【解析】图的遍历是指从图中的某一个顶点出发,按照某种搜索算法沿着图中的边对图中的所有顶点访问一次且仅访问一次。图的深度遍历类似于树的先序遍历,不仅适合无向图,也适合于有向图。
第 4 页,共 70 页
, S 为符号位, E 的取值为, f 为23位;