2006 年湖北武汉科技大学计算机应用技术考研真题
一、选择合适的数据结构表示两个集合:
A={ai,i=1,2……,m|ai∈Z}
B={bi,i=1,2……,n|bi∈Z},Z 表示整数集合。
定义数据结构(2 分),设计算法求它们的并集(6 分)和差集(6 分)以及差集中的数据元
素个数(4 分)。(共 18 分)
二、设计一种数据结构表述一个体育班级,在空间复杂度为 O(1)的前提下写出将该体育班级
分解成男、女两个集合的算法,并要求每个集合中都按身高非递减顺序排列。(定义数据结
构 2 分,算法 12 分,共 14 分)
三、车厢分为:硬座、硬卧和软卧。假设在铁道转轨网的输入端有 n 节车厢等待调度(车厢
的顺序是混乱的),设计一种数据结构和算法(可用伪码表示),要求这三种车厢在输出端铁
道上的排列次序为:硬座在前,软卧在中,硬卧在后。(描述数据结构 6 分,算法 8 分,共
14 分)
四、设有 n 阶三对角矩阵 A[0..n-1,0..n-1],将三条对角线上的元素逐行存放于数组 B[0..3n-3]
中,使得 B[k]=A[i,j],写出将 A 存入数组 B 中的算法(6 分)以及由数组 B 确定 A[i,j]的算法
(10 分),并写一算法求三对角矩阵在这种压缩存储表示下的转置矩阵 C[0..3n-3](6 分)。(共
22 分)
五、一对老夫妻生有多个子女,有些子女已成亲并生有多个子女,……,如此繁衍下去(一
夫一妻制,不考虑丧偶)。设计一种数据结构表述这样的大家族,并设计算法求任意家族成
员的所有子女。(描述、定义数据结构 8 分,算法 10 分,共 18 分)
六、给定 n 个点的交通网,现要在这 n 个点中选一个建立供应站,显然供应站有 n 个备选
点。假设选定 ni 为供应站,则该供应站到其余各顶点的最短路程中的最大值为 Di,求出使
得 Di 最小的 ni。即要求选择合适的点作为供应站,希望离供应站最远的点到供应站的路程
最短,设计算法求出该点。(定义数据结构 4 分,描述算法思路 6 分,算法 8 分,共 18 分)
七、软件专业的学生要学习一系列课程,其中有些课程必须在其先修课程完成后才能学习,
具体关系如下:
假设每门课程的学习时间为一学期,试为该专业的学生设计教学计划,使他们能在最短的时
间内修完这些课程。设计算法求出每个学期的课程安排。(画出该问题的逻辑结构图 4 分,
定义数据结构 4 分,描述算法思路 6 分,算法 8 分,共 22 分)
八、有以下参赛选手比赛项目表:
需要作一个竞赛日程安排,使得在尽可能短的时间内安排完比赛。为了较好解决这个问题,
首先表述安排竞赛项目的数据结构模型,然后设计算法求出到底需要几个单位时间。(画出
该问题的逻辑结构图 6 分,定义数据结构 4 分,描述算法思路 6 分,算法 8 分,共 24 分)