1、淮北师范大学2012年招收硕士研究生考题(A)招生专业:软件工程 考试科目:软件工程学科专业基础综合 说明:答案必须写在答题纸上,写在本考题纸上的无效。-一、简答题(本题共4小题,满分30分)1.(8分)数据结构与数据类型有什么区别?2.(7分)若频繁地对一个线性表进行插入和删除操作,该线性表宜采用何种存储结构?3.(8分)简述进程与程序有什么区别?4.(7分)何谓死锁?产生死锁的原因和必要条件是什么?二、解答题(本题共5小题,满分60分)1.(10分)写出普里姆算法构造如下无向图的最小生成树的过程(起始点为V1)。2.(10分)已知哈希函数为H(key)=key mod 13,用线性探测再散
2、列方法处理冲突,试在012的哈希地址空间对关键字序列7,4,1,14,100,30,5,9,20,134构造哈希表,并求出在等概率情况下,查找成功时的平均查找长度。3.(10分)设初始序列为503,087,512,061,908,170,897,275,653,426,请写出采用Shell排序法对该序列作升序排序时的每一趟结果。(设d1=5,d2=2,d3=1)4.(15分)在银行家算法中,若出现下述资源分配情况,试问:该状态是否安全?ProcessAllocationNeedAvailableP0003200121622P110001750P213542356P303320652P40014
3、06565.(15分)若干个等待访问磁盘者依次要访问的柱面为20,44,40,4,80,12,76,假设每移动一个柱面需要3毫秒时间,移动臂当前位于40号柱面,请按先来先服务算法计算为完成上述各次访问总共花费的寻找时间。三、算法分析与设计(本题共4小题,满分60分)1.(15分)用C语言编程实现:将十进制正整数n转换成k进制(2k9)数输出(n和k由键盘输入)。2.(15分)用C语言编程实现:读入一行英文文本,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。3.(15分)已知二叉树采用如下二叉链表储存结构,设计一个算法求数据域data的最大值。二叉树的二叉链表储存结构:typedef struct TNode int data; struct TNode *lchild, *rchild; BiTNode, *BiTree;4.(15分)一组生产者向一组消费者提供产品,它们共享一个有界缓冲池。生产者向其中投放产品,消费者从中取出产品进行消费,试写出利用记录型信号量解决生产者消费者问题同步算法。-淮北师范大学2012年硕士研究生招生考试考题纸 第 2 页 共 2 页