当前位置:问答库>考研试题

2018年武汉纺织大学数学与计算机学院848数据结构考研核心题库

  摘要

一、填空题

1. 数组的存储结构采用_____存储方式。

【答案】顺序存储结构

【解析】数组本身的存储结构是线性的,也就是说它是连续存储的。

2. 对n 个记录的表进行简单选择排序,所需进行的关键字间的比较次数为_____。

【答案】n (n-1) /2

【解析】第一次需要n -1次比较,第i 此需要n -i 此比较,所以共需要

3. 在顺序存储的二叉树中,编号为i 和j 的两个结点处在同一层的条件是_____。 【答案】

要加“虚结点”。

设编号为i 和j 的结点在顺序存储中的下标为s 和t , 则结点i 和j 在同一层上的条件是

4. 中缀式

运算结果为_____。 【答案】

【解析】中缀式相当于中序遍历,前缀式相当于前序遍历,后缀式相当于后序遍历。

5. 一个字符串中_____称为该串的子串。

【答案】任意个连续的字符组成的子序列

6. 从用户的观点看,文件的逻辑结构通常可以区分为两类:一类是如NdBASE 中数据库文件那样的文件组织结构,称为_____文件; 另一种是诸如用各种文字处理软件编辑成的文本文件,称为_____文件。从文件在存储器上的存放方式来看,文件的物理结构往往可区分为三类,即_____, _____和_____。B+树适用于组织_____的索引结构,m 阶B+树毎个结点至多有_____个儿子,除根结点外每个结点至少有_____个儿子,根结点至少有_____个儿子,有k 个儿子的结点必有_____个关键码。

【答案】数据库;文本;顺序组织;随机组织;链组织;随机组织;m ;

第 2 页,共 35 页 。 【解析】用顺序存储结构存储二叉树时,要按完全二叉树的形式存储,非完全二叉树存储时,(c-d)对应的前缀式为_____,若a=l,b=2, c=3, d=4, 则后缀式的;2;k

7. 设单链表的结点结构为(data,next) ,next 为指针域,已知指针px 指向单链表中data 为x 的结点,指针py 指向data 为y 的新结点,若将结点y 插入结点x 之后,则需要执行以下语句: _____;_____;

【答案】py ﹣>next =px ﹣>next ;px ﹣>next =py

8. 设广义表L =(( ),( )) ,则head(L)是_____tail(L)是_____L的长度是_____;深度是_____。

【答案】( );(( )) ;2;2

【解析】广义表的表头是表的第一个元素,表尾是除了第一个元素外其余的所有的元素构成的表;表的长度指表中元素的个数;表的深度指展开后括号的层数。

9. 在单链表中设置头结点的作用是_____。

【答案】方便运算

10.属于不稳定排序的有_____。

【答案】希尔排序、简单选择排序、快速排序、堆排序等

二、解答题

11.设与记录

对应的关键字分别是

。如果存在

和使得j

成立,试证明经过一趟起泡后,一定有记录与进行交换。

【答案】起泡排序思想是相邻两个记录的关键字比较,若反序则交换,一趟排序完成得到极值。由题假设知在,又因之前且,则,故,即说明和是反序;设对于和之前全部记录:(其中包括) 中关键字最大为,故经过起泡排序前i-2次比较后,

必定交换。 的关键字一定为和Rf 为反序,由此可知

12.某银行提供1个服务窗口和10个供顾客等待的座位。顾客到达银行时, 若有空座位, 则到取号机上领取一个号, 等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时, 通过叫号选取一位顾客, 并为其服务。顾客和营业员的活动过程描述如下:

第 3 页,共 35 页

请添加必要的信号量和P 、V(或wait ( )、signal ( )) 操作, 实现上述过程中的互斥与同步。要求写出完整的过程, 说明信号量的含义并赋初值。

【答案】(1)互斥资源:取机号, 故设一个互斥信号量mutex 。

(2)同步问题:顾客需要获得空座位等待叫号, 当营业员空闲时, 将选取一位顾客为其服务。空座位的有、无影响等待顾客数量, 顾客的有、无决定两营业员是否能开始服务。另外, 顾客获得空座位后, 需要等待叫号和被服务, 顾客与营业员就服务何时开始有同步关系。设信号量teller , customer 和mutex 初值分别为0, 0和1, 设waiting 为整型量, 表示排队的储户数量, 其初始为0, 表示顾客初始时为0, 最大不超过10(10把座椅) , 各进程的具体实现如下所示:

座椅数, 也是最多排队的储户数

定义信号量

等待储户的柜员资源

排队等待服务的储户数量

对排队机操作的互斥量

在座椅上休息等待的储户数

储户进程

先获得排队机

若还有座椅则取号

取号, 占用座椅等待叫号

告知系统储户加

1

释放排队机

等待柜员叫号

进入窗口被服务

若没有座椅了, 则不取号

不取号, 释放排队机

离开

并发调度无限循环

叫号

需要获得排队机的控制权

将等候的顾客数减1

第 4 页,共 35 页