1
一、问题描述
大学每个专业都要制定教学计划。假设任何专业都有固定的学
习年限,每学年含两个学期的时间长短和学分上限值均相等。每个专
业开设的课程都是确定的,而且课程在开设时间的安排上必须满足先
修关系。每门课有哪些先修课程也是确定的(但可以有多门先修课程,
也可以没有先修课程)。每门课恰好占一学期。试在这些前提下设计
一个教学计划编制程序。
二、基本要求
(1):输入参数:学期总数,一学期的学分上限,每门课的课程号,
学分,直接先修关系的课程号。
(2):课程号尽可能的集中在前几个学期中。
(3):若无解,则报告错误信息
三、数据结构的设计
采用邻接表存储结构,构造没有相关信息的图 G,图中每个结
点采用结构体数据类型,其中数据域存储先修课程的课程号和学分等
相关数据,根据先修关系确定图中结点之间的关系。例如下面语句是
对表结点,头结点和图的定义:
typedef struct ArcNode
{
int adjvex; /* 该弧所指向的顶点的位置 */
struct ArcNode *nextarc; /* 指向下一条弧的指针 */
InfoType *info; /* 网的权值指针) */
}ArcNode; /* 表结点 */
typedef struct
{