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

2017年闽南师范大学计算机学院821计算机学科专业基础综合[专业硕士]之数据结构考研冲刺密押题

  摘要

一、填空题

1. 下列程序是快速排序的非递归算法,请填写适当的语句,完成该功能。

【答案】

【解析】快速排序(quicksort )的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。

2. 组成串的数据元素只能是_____。

【答案】字符

3. 以下是用类C 语言写山的算法,该算法将以二叉链表存储的二叉树中的叶结点按从左到右的顺序链成一个带头结点的双向循环链表,链接时,结点的Lchild 域作为前链域,指向结点的直接前驱,结点的Rchild 域作为后链域,指向结点的直接后继。算法中,使用一个顺序栈stack , 栈顶head 为双向循坏链表的头指针。 指针为top , P , t 为辅助指针,试填充算法中的空格,使算法完整。

void leafchain(BiTree Abt)

{p={BiTree)malloc (sizeof (BiTNode )); If (!p ){print£(“OVERFLOW\n”; exit (1); }

head=p; top=0; if (bt )

{top++; stack[top]=bt; while (top )

{t=stack[top]; top--;

if (it->Lchild && !t->Rchild){ (1) ; (2) ; (3) ; } else {if( (4) ){top++; stack[top]= (5) ; } if ( (6) ){top++; stack[top]= (5) ; } } }

(8) ; (9) ; } } 【答案】

p->Rchild=t:t->Lchild=p:p=t: t->Rchild!=null:t->Rchild: t->Lchild!=null: t->Lchild: p->Rchild=head:head->Lchild=p

4. 当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_____存储结构。

【答案】顺序

【解析】顺序存储结构的存取操作比较方便,但插入和删除操作不如链式存储结构方便,而且需要连续的存储空间,由于该线性表的元素总数基本稳定,而且很少进行插入删除操作,为了更快的存取元素,顺序表更合适。

5. 对于给定的元素,可以构造出的逻辑结构有_____,_____,_____,_____四种。

【答案】集合;线性结构;树形结构;图状结构(网状结构)

6. 根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成_____和_____; 而又根据指针的连接方式,链表又可分成_____和_____。

【答案】单链表;双链表;(动态)链表;静态链表

【解析】线性表的链式存储结构根据每个结点包含的指针个数分为单链表和双链表,单链表只包含一个指针,指向后续元素,双链表包括两个指针,指向前一个元素和后续元素。根据指针

的连接方式,链表可分为动态链表和静态链表。静态链表的指针指向下一个元素的编号,动态链表的指针指向下一个元素的物理位置。

7. 在双向循环链表中,向P 所指的结点之后插入指针f 所指的结点,其操作是_____、_____、_____、_____。

【答案】

8. 已知二维数组

为1000的连续存储区域时

【答案】1196

【解析】设元素的行标为i ,列标为j 。则它的存储位置为:

9. 求最短路径的Dijkstra 算法的时间复杂度为_____。

【答案】

中每个元素占4个单元,在按行优先方式将其存储到起始地址的地址是:_____。

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

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

【解析】第一次需要n-1次比较,第i 此需要n-i 此比较,所以共需要、n-l+n-2+...+l=n(n-l )/2。

二、选择题

11.对n 个记录的线性表进行快速排序为减少算法的递归深度,以下叙述正确的是( )。

A. 每次分区后,先处理较短的部分 B. 每次分区后,先处理较长的部分 C. 与算法每次分区后的处理顺序无关 D. 以上三者都不对 【答案】A

【解析】令递归函数为f ,第一次进行递归函数认为递归深度为1,以后从深度为n 的递归函数f 中再调用递归函数f ,此时深度为整个f 的最大深度为递归深度。

12.本地用户通过键盘登录系统时,首先获得的键盘输入信息的程序是( )。

A. 命令解释程序 B. 中断处理程序 C. 系统调用服务程序 D. 用户登录程序 【答案】B

【解析】外部设备在与计算机连接时有多种方式,中断技术就是一种常用方式。其工作原理