数据结构与算法课程设计报告模版.doc
文本预览下载声明
《数据结构与算法》
课程设计报告
题 目:本科生导师制问题与家族关系查询系统
院 (系): 信息科学与工程
专业班级: 计算机应用技术1301班
学生姓名: 顾 泉
学 号: 20131201018
指导教师: 金 兰
20 14 年 12 月 29 日至20 15 年 1 月 9 日
华中科技大学武昌分校制
数据结构与算法课程设计任务书
一、设计(调查报告/论文)题目
1.本科生导师制问题
2.停车场管理
3.大整数计算器
4.家族关系查询系统
5.地铁建设问题
我选作本科生导师制问题与家族关系查询系统 二、设计(调查报告/论文)主要内容
1.本科生导师制问题
问题描述:
在高校的教学改革中,有很多学校实行了本科生导师制。一个班级的学生被分给几个老师,每个老师带n个学生,如果该老师还带研究生,那么研究生也可直接带本科生。本科生导师制问题中的数据元素具有如下形式:
①导师带研究生
(老师,((研究生1,(本科生1,…,本科生m1)),(研究生2,(本科生1,…,本科生m2))…))
②导师不带研究生:
(老师,(本科生1,…,本科生m))
导师的自然情况只包括姓名、职称;研究生的自然情况只包括姓名、班级;本科生的自然情况只包括姓名、班级。
设计要求:
要求完成以下功能:
①建立:建立导师广义表;
②插入:将某位本科生或研究生插入到广义表的相应位置;
③删除:将某本科生或研究生从广义表中删除;
④查询:查询导师、本科生(研究生)的情况;
⑤统计:某导师带了多少个研究生和本科生;
⑥输出:将某导师所带学生情况输出;
⑦退出:程序结束。
数据结构:
本题使用的数据结构是广义表,广义表采用头尾链表存储结构来实现。
2.停车场管理
问题描述:
设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若停车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在其之后开入的车辆必须先退出停车场让路,待该辆车开出大门外,其他车辆再按原次序进入停车场,每辆停放在停车场的车在其离开停车场时必须按其停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。
设计要求:
以栈模拟停车场,以队列模拟停车场外的便道,按照从终端读入的输入数据的方式进行模拟管理。输入1,表示车辆到达;输入2,表示车辆离开;输入3,表示显示出停车场内及便道上的停车情况;输入4,表示退出系统。车辆到达操作,需输入汽车牌照号码及到达的时刻;车辆离开操作,需输入汽车在停车场的位置及离开的时刻,且应输出汽车在停车场内停留的时间和应缴纳的费用(在便道上停留的时间不收费)。
数据结构:
本题使用的数据结构是顺序栈和链式队列。
3.大整数计算器
问题描述:
实现大整数(200位以内的整数)的加、减、乘、除运算。
设计要求:
设计程序实现两个大整数的四则运算,输出这两个大整数的和、差、积、商及余数。
数据结构:
本题采用顺序串来实现。
4.家族关系查询系统
问题描述:
建立家族关系数据库,实现对家族成员关系的相关查询。
设计要求:
①建立家族关系并能存储到文件中。
②实现家族成员的添加。
③可以查询家族成员的双亲、祖先、兄弟、孩子和后代等信息。
数据结构:
本题使用的数据结构有树状结构和队列。树状结构采用三叉链表实现,队列采用链式队列实现。
5.地铁建设问题
问题描述:
某城市要在其各个下去之间修建地铁来加快经济发展,但由于建设地铁的费用昂贵,因此需要合理安排地铁的建设线路,使乘客可以沿地铁到达各个辖区,并使总的建设费用最小。
设计要求:
①从包含各下去的地图文件中读入辖区名称和各辖区间的直接距离。
②根据读入的各辖区的距离信息,计算出应该建设哪些辖区间的地铁路线。
③输出应该建设的地铁路线及所需建设的总里程信息。
数据结构:
本题使用的数据结构是无向图,无向图采用邻接矩阵作为存储结构。
课程设计要求:
课程设计从本科生导师制问题、停车场管理、大整数计算器、家族关系查询系统和地铁建设问题这五道题中任选两道题完成。系统要求在Microsoft Visual C++ 6.0编译平台上采用C语言编程实现。
课程设计报告(要求正规打印,A4幅面),内容包括:
题目
需求与总体设计(描述系统要实现什么功能;系统怎么实现,绘制系统功能
显示全部