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

2017年江西中医药大学计算机学院806数据结构考研冲刺密押题

  摘要

一、填空题

1. 用循环链表表示的队列长度为n ,若只设头指针,则出队和入队的时间复杂度分别是_____和_____;若只设尾指针,则出队和入队的时间复杂度分别是_____和_____。

【答案】

【解析】队列的出队操作即删除队头的元素,队列的入队操作即在队尾添加元素,循环链表只设头指针,出队时,只要把头结点的下一个结点删除就好了,入队时,要把新的结点插入队尾,必须把队列遍历,找到队尾指针,才能插入。循环队列只设尾指针,出队时只要把为指针的下一个结点或者下下个结点删除即可,入队时,只要在尾指针的后面插入新的结点,并更新尾结点即可。

2. 串是一种特殊的线性表,其特殊性表现在_____; 串的两种最基本的存储方式是_____、_____; 两个串相等的充分必要条件是_____。

【答案】其数据元素都是字符;顺序存储;链式存储;串的长度相等且两串中对应位置的字符也相等 3. 设有一个10阶对称矩阵A 采用压缩存储方式(以行为主序存储:

【答案】33

【解析】设存储的元素的行标为i ,列标为j 。若的地址为将代入得33。

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

【答案】方便运算

5. G 是一个非连通无向图,共有28条边,则该图至少有_____个顶点。

【答案】9

【解析】求该非连通无向图的最少顶点数,则该图为一个孤立的顶点和一个完全连通图。

6. 文件可按其记录的类型不同而分成两类,即_____和_____文件。

【答案】操作系统文件;数据库

,)则 的地址为_____。

则的地址为

7. 二进制地址为011011110000,大小为

【答案】011011110100;011011100000

和块的伙伴地址分别为:_____ 和

其伙伴块的起始地址计算公

011011110000是块的起始地址,【解析】大小分别为式如下:

当大小为4时,起始地址

8. 栈是_____的线性表,其运算遵循_____的原则。

当大小为16时,起始地址为

;后进先出 【答案】操作受限(或限定仅在表尾进行插入和删除操作)

9. 执行顺序查找时,存储方式可以是_____,折半查找时,要求线性表_____,分块查找时要求线性表_____,而哈希表的查找,要求线性表的存储方式是_____。

【答案】顺序存储或链式存储;顺序存储且有序;块内顺序存储,块间有序;散列存储

10.在二叉树中,指针p 所指结点为叶结点的条件是_____。

【答案】

【解析】叶子节点的左右孩子都不存在。

二、判断题

11.即使有向无环图的拓扑序列唯一,也不能唯一确定该图。( )

【答案】×

【解析】如果有向无环图的拓扑序列唯一,则能够确定每个结点的唯一前驱和后继,因此能够确定该图。

12.对处理大量数据的外存介质而言,索引顺序存取方法是一种方便的文件组织方法。( )

【答案】×

【解析】索引顺序存取方法插入操作比较麻烦,对于处理大量数据,会有大量的记录进入溢出区,而基本区中又浪费很多空间。

13.堆肯定是一棵平衡二叉树。( )

【答案】×

【解析】堆是n 个元素的序列,可以看成是完全二叉树,但相对于根并无左小右大的要求,故其既不是二叉排序树,更不会是平衡二叉树。

14.串长度是指串中不同字符的个数。( )

【答案】

【解析】不是,串长度是指串中字符的总个数。需要注意的是,在计算字符串的长度时,不要漏掉了空格。

15.用希尔(Shell )方法排序时,若关键字的初始排序杂乱无序,则排序效率就低。( )

【答案】×

【解析】希尔排序的基本思想是:先将整个待排记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。

16.循环队列也存在空间溢出问题。( )

【答案】

【解析】循环队列的存储空间也是有限的,因此也存在空间溢出问题。

17.归并排序辅助存储为( )

【答案】×

【解析】归并排序的辅助存储是

18.倒排文件是对次关键字建立索引。( )

【答案】√

,将所有具有相同【解析】倒排文件是对每一个次关键字项建立次关键字索引(称为倒排表)次关键字的记录的物理记录号都填入倒排表为此次关键字的表中。

19.树形结构中元素之间存在一对多的关系。( )

【答案】√

【解析】树形结构是非线性结构,存在一对多的关系。

20.队列和栈都是运算受限的线性表,只允许在表的两端进行运算。( )

【答案】

【解析】栈只能在一端进行操作,队列可以在表的两端进行运算。

三、算法设计题

21.试为二叉树写出一个建立三叉链表的算法,并在此三叉链表中删去每一个元素值为x 的结点,以及以它为根的子树,且释放相应存储空间。二叉树的三叉链表的描述为:

V ARbt : bitreptr; {二叉树根结点的指针} 【答案】算法如下:

生成三叉链表的二叉树(题目给出PASCAL 定义,下面用类C 语言书

写)