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

2017年湖南科技大学计算机科学与工程学院826C语言程序设计与数据结构综合之数据结构考研题库

  摘要

一、填空题

1. 无用单元是指_____,例_____

【答案】用户不再使用而系统没有回收的结构和变量;

2. 起始地址为480,大小为8的块,其伙伴块的起始地址是_____;若块大小为32,则其伙伴块的起始地址为_____。 【答案】

【解析】起始地址为P ,大小为的内存块,其伙伴块的起始地址计算公式如下:

根据上述公式起始地址就为488。

3. 二叉树由_____,_____,_____三个基本单元组成。

【答案】根结点;左子树;右子树

4. 循环队列的引入,目的是为了克服_____。

【答案】假溢出时大量移动数据元素

【解析】用数组实现队列时,如果不移动,随着数据的不断读写,会出现假满队列的情况。即尾数组已满但头数组还是空的。循环队列也是一种数组,引入循环队列,有效克服假溢出大量移动数据元素的问题。

5. 在一个具有n 个单元的顺序栈中,假定以地址高端(即下标为n 的单元)作为栈底,以top 作为栈顶指针,则当向栈中压入一个元素时,top 的变化是top=_____。 【答案】

【解析】由于栈底在地址高端,栈中压入一个元素时,栈顶向地址底端移动一个单位,

所以

6. 己知有序表为(12,18,24,35,47,50,62,83,90,115,134)当用二分法查找90时,需_____次查找成功,查找47时_____成功,查找100时,需_____次才能确定不成功。

【答案】2;4;3

【解析】二分法查找元素次数列表

找100是找到115就停止了。

7. 对于双向链表,在两个结点之间插入一个新结点需修改的指针共_____个,单链表为_____个。

【答案】4; 2

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

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

9. 已知一循环队列的存储空间为环队列判满的条件是( ) 【答案】

10.

【答案】5

=_____ 其中队头和队尾指针分别为front 和rear , 则此循

二、选择题

11.已知两个长度分别为m 和n 的升序链表,若将它们合并为一个长度为m+n的降序链表,则最坏情况下的时间复杂度是( ) A. B. C. D.

【答案】D

【解析】m 和n 是两个升序链表长度分别为m 和n ,在合并过程中最坏的情况是两个链表中的元素依次进行比较,比较的次数是m 和n 中的最大值。

12.中断处理和子程序调用都需要压栈以保护现场,中断处理一定会保存而子程序调用不需要保存其内容的是( )。

A. 程序计数器

B. 程序状态字寄存器

C. 通用数据寄存器

D. 通用地址寄存器

【答案】B 。

【解析】中断处理与子程序调用最大的区别是中断处理程序与正在运行的进程可能无关,而子程序调用与正在运行的进程有关。中断是要打断处理器的正常工作次序,并要求其去处理某一事件的一种常用手段。因此,除了要保护当前程序的地址,计数器(指针)和数据寄存器以外,

还需要保存程序状态字。子程序调用是与当前进程有关,是正在运行的程序有意安排执行的,这一类调用发生的时间以及位置具有确定性,处于同一个进程内,因此不需要保存程序状态字。所以中断处理和子程序调用不同的区别是中断处理程序必定会保存程序状态字寄存器。

13.某数采用IEEE754单精度浮点数格式表示为C640 0000H, 则该数的值是( ) A. B. C. D.

【答案】A

IEEE754单精度浮点数格式为C640 0000H表示为二进制格式为1100 0110 0100 0000 【解析】

0000 0000 0000 0000, 转换为标准的格式为:

. 因此,浮点数的值为

14.下列排序算法中元素的移动次数和关键字的初始排列次序无关的是( )。

A. 直接插入排序

B. 起泡排序

C. 基数排序

D. 快速排序

【答案】C

【解析】C 项,基数排序是采用分配和收集实现的,不需要进行关键字的比较。ABD 三项都依赖关键字的比较,不同的初始排列次序下元素移动的次数有很大变化,最好情况元素正序,则不用移动,最坏情况元素反序,则需要移动n (n-1) /2次(为元素个数)。

15.串的长度是指( )。

A. 串中所含不同字母的个数

B. 串中所含字符的个数

C. 串中所含不同字符的个数

D. 串中所含非空格字符的个数

【答案】B

【解析】串中字符的数目n 称为字符的长度,不必考虑其中单个字符是否相等。

16.从堆中删除一个元素的时间复杂度为( )。

【答案】B

【解析】堆中删除一个元素,需要重新调整堆,其时间复杂度为