中北大学数据结构与算法课程设计说 明 书 学 院 、 系 :软件学院专 业 :软件工程学 生 姓 名:学 号:设 计 题 目 :教学计划编制问题起 迄 日 期 :2024 年 12 月 9 日-2024 年 12 月 20 日指 导 教 师: 2013 年 12 月 20 日1 需求分析1
在大学的某个专业中选取几个课程作为顶点,通过各门课的先修关系来构建个图,该图用邻接表来存储,邻接表的头结点存储每门课的信息
本程序的目的是为用户编排课程,根据用户输入的信息来编排出每学期要学的课程
测试数据:学期总数:6;学分上限:9;本专业共开设 12 门课,课程号从 C00 到 C11,学分顺序为2,3,4,3,2,3,4,4,7,5,2,3
2 概要设计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 * );int TopologicalOrder(ALGraph G,AdjList R,struct Name name[])int LocateVex(ALGraph G, VertexType u)/* 查找图中某个顶点位置 */ }ADT Graph2
栈的定义如下:ADT Stack{数据对象:D={ai|ai∈ElemSet,i=1,2,…n,n〉=0} 数据关系:R1={﹤ai-1 ai﹥|ai—1,ai∈D,i=2,…,n}基本操作:void InitStack (SqStack *S);int StackEmpty(SqStack S);void Push(