2018年天津财经大学计算机软件与理论818计算机专业综合之数据结构考研核心题库
● 摘要
一、填空题
1. 深度为H 的完全二叉树至少有_____个结点:至多有_____个结点; H 和结点总数N 之间的关系是_____。
【答案】
2. 在进行入栈运算时应先判别栈是否_____:在进行出栈运算时应先判别栈是否_____:当栈中元素为n 个,进行入栈运算时发生上溢,则说明该栈的最大容量为_____。为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的空间时,应将两栈的_____分别设在内存空间的两端,这样只有当_____时才产生溢出。
【答案】满;空;n ;栈底;两栈顶指针相邻(即值之差的绝对值为1)
3. 分别采用堆排序,快速排序,起泡排序和归并排序,对初态为有序的表,则最省时间的是_____算法,最费时间的是_____算法。
【答案】起泡;快速
【解析】当初态为有序表时,冒泡排序只需要进行一趟比较即可,此时时间复杂度为O(n),
2
而快速排序算 法需要比较的次数达到最大,时间复杂度为O (n) 。
4. 在循环队列中,队列长度为n ,存储位置从0到,n ﹣1编号,以rear 指示实际的队尾元素,
现要在此队列中插入一个新元素,新元素的位置是_____。
【答案】
5. 从用户的观点看,文件的逻辑结构通常可以区分为两类:一类是如NdBASE 中数据库文件那样的文件组织结构,称为_____文件; 另一种是诸如用各种文字处理软件编辑成的文本文件,称为_____文件。从文件在存储器上的存放方式来看,文件的物理结构往往可区分为三类,即_____, _____和_____。B+树适用于组织_____的索引结构,m 阶B+树毎个结点至多有_____个儿子,除根结点外每个结点至少有_____个儿子,根结点至少有_____个儿子,有k 个儿子的结点必有_____个关键码。
【答案】数据库;文本;顺序组织;随机组织;链组织;随机组织;m ;
6. 下列程序是快速排序的非递归算法,请填写适当的语句,完成该功能。
第 2 页,共 77 页
;2;k
a 中存放待排序的关键字
【答案】
【解析】快速排序(quick sort)的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。
7. 设有一个空枝,栈顶指针为1000H(十六进制) ,现有输入序列为1,2,3,4,5,经过PUSH ,PUSH ,POP ,PUSH ,POP ,PUSH ,PUSH 之后,输出序列是_____,而栈顶指针值是_____。设栈为顺序找,每个元素占4个字节。
【答案】23;100CH
8. 高度为h 的堆中,最多有_____元素,最少有_____个元素。
【答案】
。当最后一层只有
【解析】当这个堆构成的是满二叉树时,元素的个数最多,元素个数为
一个元素时,此时堆的元素个数最少,元素个数为。
9. 根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成_____和_____;而又根据指针的连接方式,链表又可分成_____和_____。
【答案】单链表;双链表;(动态) 链表;静态链表
【解析】线性表的链式存储结构根据每个结点包含的指针个数分为单链表和双链表,单链表
第 3 页,共 77 页
只包含一个指针,指向后续元素,双链表包括两个指针,指向前一个元素和后续元素。根据指针的连接方式,链表可分为动态链表和静态链表。静态链表的指针指向下一个元素的编号,动态链表的指针指向下一个元素的物理位置。
10.已知二维数组中每个元素占4个单元,在按行优先方式将其存储到起始地址为1000的连续存储区域时,A[5,9]的地址是: _____。
【答案】1196
【解析】设元素的行标为i ,列标为j 。则它的存储位置为:l000+[(i﹣l)*l0+(j﹣0)]*4
二、单项选择题
11.若用户进程访问内存时产生缺页, 则下列选项中, 操作系统可能执行的是( )
Ⅰ. 处理越界错 Ⅱ. 置换页 Ⅲ. 分配内存 A. 仅Ⅰ、Ⅱ B. 仅Ⅱ、Ⅲ C. 仅Ⅰ、Ⅲ D. Ⅰ、Ⅱ和Ⅲ 【答案】B
【解析】用户进程访问内存时缺页会发生缺页中断。发生缺页中断, 系统地执行的操作可能是置换页面或分配内存。系统内没有越界的错误, 不会进行越界出错处理。
12.程序段
与
对换;
其中n 为正整数,则最后一行的语句最坏情况下的时间复杂度是( )。 A.D(n) B.O(nlogn) C.O(n3) D.O(n2) 【答案】D
【解析】这个是冒泡排序,最坏的情况下需要进行l +2+... +n ﹣l 次交换,即时间复杂度是0(n2) 。
13.要连通具有n 个顶点的有向图,至少需要( )条边。
A.n -1 B.n
第 4 页,共 77 页
相关内容
相关标签