课 程 设 计 说 明 书 题目: 教学计划编制问题(A 类) 院 系: 计算机科学系 专业班级: 06 网络工程 学 号: 学生姓名: 指导教师: 一
需求分析 (1)实验内容和实验目的: 1
大学的每个专业都要编制教学计划
假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限都相等
每个专业开设的课程都是确定的,而且课程的开设时间的安排必须满足先修关系
每个课程的先修关系都是确定的,可以有任意多门,也可以没有
每一门课程恰好一个学期
试在这样的情况下设置一个教学计划编制程序
在大学的某个专业中选取几个课程作为顶点,通过各门课的先修关系来构建个图,该图用邻接表来存储,邻接表的头结点存储每门课的信息
本程序的目的是为用户编排课程,根据用户输入的信息来编排出每学期要学的课程
(2)测试数据: 学期总数:6;学分上限:10;该专业共开设 12 门课,课程号从 01 到 12,学分顺序为 2,3,4,3,2,3,4,4,7,5,2,3
先修关系见教科书图 7.26
(3)测试结果(包含正确和错误的): 正确测试结果: 错误测试结果: 二
概要设计 1
抽象数据类型图的定义如下: ADT Graph{ 数据对象V:V 是具有相同特性的数据元素的集合,称为顶点集
数据关系 R: R={VR} VR={(v,w)|v,w∈V,(v,w)表示v 和w 之间存在直接先修关系} 基本操作P: void CreatGraph(ALGraph *); void FindInDegree(ALGraph , int * ); void TopologicalSort_1(ALGraph G,int numterm,int maxcredit); void TopologicalSort_2(ALGraph G,int numterm,int maxcr