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

吉林大学数据结构2003考研试题研究生入学考试试题考研真题

  摘要

1、编程将由整数构成的n (n ≥2)阶方阵A 就地按顺时针方向旋转90度。要求不允许使用另外的矩阵作为转存的临时工作单元。[15分]

2、不使用任何自定义数据类型,编写一个子程序(过程或函数),该子程序能够将一个实数分解为它的整数和小数部分。即:使得该子程序的调用者(主控程序或其它子程序)能够通过调用它既得到一个实数的整数部分,又得到该实数的小数部分(也是一个实数)。要求给出调用该子程序的代码段以说明如何使用该子程序。[15分]

3、对于0

4、某语言关于数的句法如下图所示,其中

L 表示任何非数字符。数的语(句)法图:

编程从输入的字符串中翻译并输出符合该句法的一个数。该句法的解释是:略过任何非数字符,遇到数字符,重复接收任意多数字符后译出整数部分。遇到小数点后,读入一个字符,若该字符是数字,程序进入小数部分翻译,否则结束。若译整数部分结束后,遇到其它字符,则程序也结束。[20分]

5、编写一个非递归函数,计算如下定义的函数f 。

x+y 当x 为负数时

f (x,y )=

f (x-1,x+y)+x/y 当x 为非负数时

其中:x,y 都是实数,f 的值也是实数。[20分] 6、已知某二叉树有

n 个结点,各结点存放的是值互不相同的字符,其先序遍历和中序遍历的序列分别存放在向量pred 和inod 中,编写一函数建立该树的二叉链表。要求:函数的返回是指向所建树的根结点的指针。[20分]

例如:

pred :A 、B 、D 、E 、C 、F 、G

inod :D 、B 、E 、A 、C 、G 、F

所建树应为:

7、L 是由100个整数构成的序列,编程求L 的一个子序列,使得它与L 的其它子序列相比,它的各元素之和最大。即求L 的最大和子序列。[20分]

8、已知序列A 中按某种顺序存放的数据恰好是1,2,…,n 这n 个不同的正整数。序列B 是序列A 经过如下变换得到的:B i 的值是A 1到A i-1中小于A i 数值的个数。编程根据经过合理变换得到的B 中的数据,依次输出序列A 中的数值。即:由B 求A 。[20分]

例如:n=5,

B 中依次存放:0,0,0,2,0。