中国人民公安大学计算机软件技术基础2004年考研真题考研试题
中国人民公安大学 2004 年硕士研究生入学考试 计算机软件技术基础试题(315) 请将所有答案标明题号,写在答题本上,试题纸上请勿答题。严禁在答题 纸密封线以外留下姓名、考号等任何标记,否则该卷无效。 一、名词解释和名词比较(每题 5 分,共 30 分) 1. 树 2. 虚拟存储管理 3. 管理信息系统 4. 计算机病毒 5. 比较数据与信息 6. 比较投影运算和选择运算 二、简答题(每题 10 分,共 60 分) 1. 给定一个不带头结点的线性链表(头指针为 head),如何实现在一个结点 p 的前面 插入一个结点 s?要求写出具体的实现算法,描述语言采用类 C 语言。 2. 在一个任意二叉树中,若有 n0 个叶子结点,n2 个度为 2 的结点,请问 n0 和 n2 之间 存在什么关系?要求给出证明过程。 3. 操作系统中,产生死锁的原因和必要条件分别是什么? 4. 软件工程中,为什么采用原型法作为系统分析与设计的一个工具?实现原型的一般 途径是什么? 5. 简要说明开放系统互联参考模型 OSI 各层协议的功能。 6. 计算机网络安全要求包括几个方面? 三、综合题(第 1 题 25 分,第 2 题 20 分,第 3 题 15 分,共 60 分) 1. 假设有三个分别命名为 a、b、c 的塔座,在塔座 a 上插有 3 个直径大小各不相同、 依小到大编号为 1,2,3 的圆盘。现要求将塔座 a 上的 3 个圆盘移至塔座 c 上并且仍按同样 顺序叠排。圆盘移动时必须遵守下列规则: 1)每次只能移动一个圆盘; 2) 圆盘可以插在 a、b、c 中的任一塔座上; 3) 任何时刻都不能将一个较大的圆盘压在较小的圆盘之上。 下面给出了符合上述要求的实现圆盘的移动操作的类 C 语言算法。 void hanoi(int n, char x, char y, char z) //注释:将塔座 x 上按直径由小到大且自上而下编号为 1 至 n 的 n 个圆盘按规则搬到塔 //座 z 上,y 用作辅助塔。搬动操作 move(x,n,z)定义为将编号为 n 的圆盘从 x 移到 z。 1 { 2 if (n==1) 3 move(x,1,z);
上一篇文章: 中国人民公安大学交通工程2004年考研真题考研试题 下一篇文章: 中国人民公安大学计算机软件基础2003年考研真题考研试题 |