2006 年山东科技大学数据结构与计算机组成原理考研真题
数据结构部分
一、解答下列问题(共 30 分):
1、[5 分]度量一个程序的执行时间通常有哪儿种方法?各有何优缺点?
2、[5 分]如果元素的进栈序列为 123456,问能否得到 435612 和 135426 的出栈序列?请说
明为什么不能得到或者如何得到。
3、[5 分]串是一种特殊类型的线性表,请你从串的存储及操作两方面分析它特殊在什么地
方?
4、[5 分]给出树的层次遍历序列与后序遍历序列能否唯一确定一棵树?(如能请说明原因,
如不能请举例说明。)
5、[5 分]设有三对角矩阵(aij)n*n,将其三条对角线上的元素逐行地存于数组 B[3n-2],使得
B[k]=a1j,求用 i,j 表示 k 的下标变换公式。
6、[5 分]基于比较的查找算法所能达到的最优时间复杂度是?基于比较的排序算法所能达到
的最优时间复杂度是?
二、[10 分]森林的中序遍历结果为 DECBAFIKLG,先序遍历结果为 ADCEBIFGKL,要求:
1、画出此森林。
2、将其转换为二叉树。
3、将得到的二叉树后序线索化。
三、[15 分]定义链栈数据类型,并编写函数实现链栈入栈操作。
四、[15 分]2 路归并排序的一种策略是,先对待排序序列扫描一遍,找出并划分为若干个最
大有序子列,将这些子列作为初始归并段。试在链表结构上实现这一排序算法。
五、[15 分]试写一个判别给定二叉树是否为二叉排序树的算法,设此二叉树以二叉链表作
存储结构。且树中结点的关键字均不同。
六、[15 分]试写一算法,在图 G 中求一条从顶点 V,到顶点 V;的简单路径。
计算机组成原理部分
请把下列十进制数转换成二进制数(6 分)
331
0.78125
57.375
请把-123 改写成 8 位原码、反码和补码(6 分)
若指令中基址寄存器用 B 表示,变址寄存器用 X 表示,通用寄存器用 R 表示,程序计
数器用 PC 表示,形式地址用 D 表示,按下列要求表示出操作数有效地址:(6 分)
1、相对寻址
2、变址寻址
3、寄存器间接寻址
设有一个 20 位地址和 32 位字长的存储器,问:
1、该存储器最多能存储多少个字节的数据?(2 分)
2、如果此存储器由 512K*8 位 SRAM 芯片组成,需要多少个芯片?(2 分)
3、如果按字存取需要多少位地址线作芯片选择?(2 分)
4、画出按字存取的存储器组成框图,并与 CPU 相连接。(10 分)
某加法器进位链小组信号为 C2C1低位米的信号为 C0请分别按下述两种方式写出 C2C1的逻辑表
达式:(8 分)
1、串行进位方式
2、并行进位方式
1、某计算机的微指令格式中有 10 个分离的控制字段 Cg-Cy,每个字段 C;可激活 N,条
控制线组中某一条,其中各 N,具有的控制线条数如下表所示:
这 10 个控制字段每段至少需要多少位控制位?如果各字段都采用全水平编码格式,需要多
少控制位?(4 分)
2、某微机的 CPU 组成部分如下图所示,按此图说明一条指令的解释过程,此指令的一
个操作数在累加器中,另一个在主存中,并且采用直接寻址方式、此指令地址已在 PC 中。
(4 分)