2017年鲁东大学信息与电气工程学院828计算机科学与技术专业基础之数据结构考研仿真模拟题
● 摘要
一、填空题
1. 下面程序的功能是用递归算法将一个整数按逆序存放到一个字符数组中。如123存放成321。请填空:
【答案】
【解析】通过递归算法,首先找到最高位的值,将其放到str 对应的数组中,依次反向获取从高位到地位的值,将其放到数组中,完成了将整数逆序放到一个字符数组中。
2. 设m 、n 均为自然数,m 可表示为一些不超过n 的自然数之和,f (m , n )为这种表示方式的 数目。例f (5, 3)=5,有5种表示方式:3+2, 3+1+1,2+2+1,2+1+1+1, 1+1+1+1+1。
①以下是该函数的程序段,请将未完成的部分填入,使之完整。
②执行程序,f (6,4)=_____。 【答案】①1; 1; f (m ,n -1); n ②9
3. 设数组储,则元素为_____。
【答案】9174;8788
的基地址为2000,每个元素占2个存储单元,若以行序为主序顺序存
的存储地址为_____;若以列序为主序顺序存储,则元素
的存储地址
【解析】设一个元素的行标为i ,列标为j 。若以行序为主存储顺序,
则它的存储地址为
若以列序为主存储顺序,则它的存储地址为
4. 二叉树的前序序列和中序序列相同的条件是_____。
【答案】空树或任何结点至多只有右子树的二叉树
【解析】前序遍历的顺序为根左右,中序遍历的顺序为左根右,因此若中序遍历和前序遍历序列相同,则任何结点都没有左子树。
5. 克鲁斯卡尔算法的时间复杂度为_____,它对_____图较为适合。
【答案】O (eloge ); 边稀疏
6. 在进行入栈运算时应先判别栈是否_____:在进行出栈运算时应先判别栈是否_____:当栈中元素为n 个,进行入栈运算时发生上溢,则说明该栈的最大容量为_____。为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的空间时,应将两栈的_____分别设在内存空间的两端,这样只有当_____时才产生溢出。
【答案】满;空;n ; 栈底;两栈顶指针相邻(即值之差的绝对值为1)
7. 对于一个具有n 个结点的单链表,在已知的结点半p 后插入一个新结点的时间. 复杂度为_____,在给定值为x 的结点后插入一个新结点的时间复杂度为_____。
【答案】
【解析】第一种情况只需直接修改指针的指向。第二种情况必须从头结点遍历找到x 的结点。
8. 对n 个记录的表r[l..n]进行简单选择排序,所需进行的关键字间的比较次数为_____。
【答案】n (n-1)/2
【解析】第一次需要n-1次比较,第i 此需要n-i 此比较,所以共需要、n-l+n-2+...+l=n(n-l )/2。
9. 数据结构中评价算法的两个重要指标是_____。
【答案】算法的时间复杂度和空间复杂度
10.
每一棵树都能唯一地转换为它所对应的二叉树。若已知一棵二叉树的前序序列是中序序列是前庁序列是_____。
【答案】
.
,则它的后庁序列是_____。设上述二叉树是由某棵树转换而成,则该树的
【解析】树的抑序序列对应二叉树的前序序列. 该二叉树转换成森林吋含三棵树. 其第一棵树的前序是
。
二、选择题
11.下列选项中,会导致用户进程从态切换到内核的操作是( )
I. 整数除以零 II. Sin( )函数调用 III. read系统调用 A. 仅 I 、II B .仅 I 、III C. 仅II 、III D. I、II 和III 【答案】B
【解析】对于I ,系统发生异常,需要进入内核态由操作系统进行处理,而read 系统调用函数也是在内核态执行,sin ( )就是普通的用户函数,在用户态执行,故答案为C 。
12.某计算机采用二级页表的分页存储管理方式,按字节编址,页大小为字节,页表项大小为2字节,逻辑地址结构为:
逻辑地址空间大小为( )。
A.64 B.128 C.256 D.512
【答案】B
【解析】地址空间分为逻辑地址空间和物理地址空间。页的大小为采用二级页表,
一页可存放要
个页面来保存页表项,故本题答案为B 。
字节,页表项大小为2B ,
字节,故最少需
’个页表项,本题中逻辑地址空间大小为
页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是
13.某CPU 主频为1.03GHz , 采用4级指令流水线,每个段的执行需要1个时钟周期。假定CPU 执行了100条指令,在其执行过程中没有发生任何流水线阻塞,此时流水线的吞吐率为( )
A. B. C. D. 【答案】C
【解析】采用4级流水线执行100条指令,在执行过程中共用
个时钟周期。
CPU 的主频是1.03GHz , 也就是说每秒钟有1.03G 个时钟周期。流水线的吞吐率为
条指令/秒 条指令/秒 条指令/秒 条指令/秒
相关内容
相关标签