数据结构课程设计(教学计划编制问题)报告

数据结构课程设计(教学计划编制问题)报告

ID:14809275

大小:207.00 KB

页数:10页

时间:2018-07-30

数据结构课程设计(教学计划编制问题)报告_第1页
数据结构课程设计(教学计划编制问题)报告_第2页
数据结构课程设计(教学计划编制问题)报告_第3页
数据结构课程设计(教学计划编制问题)报告_第4页
数据结构课程设计(教学计划编制问题)报告_第5页
资源描述:

《数据结构课程设计(教学计划编制问题)报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、中北大学数据结构课程设计说明书   学生姓名:张宁学号:1021011524 学院:软件学院专业:软件工程题目:教学计划编制问题指导教师何志英    2011年12月20日91.设计任务概述1.1问题描述大学的每个专业都要制定教学计划。针对软件工程本专业制定一个教学计划。假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限值均相等,每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。试在这样的前提下设计一个教学计划编制程序。1.2需求分析根据问题描述及

2、要求,可知设计中需要定义先修关系的AOV网图中的顶点及弧边的结构体,在运行结果中将图的信息显示出来,利用先修关系将课程排序,最后解决问题输出每学期的课程。(1)用学分来实现每学期课程数大致相同;(2)根据教学计划中的课程及其关系和学分来定义图的顶点及边的结构体。(3)创建图CreateGraph():结合先修关系的AOV网,采用邻接表存储。(4)菜单OUTPUT():显示代号所对应课程及课程的先修课程。(5)拓扑排序TopoSort(G):将课程排序后并决定出每学期所学课程。(6)输出图G的信息Display(G):将图的顶点和弧边输出。1.3本程序包括2个模块:主程序模块

3、和拓扑排序模块。拓扑排序模块主程序模块2.本设计所采用的数据结构(1)voidOUTPUT()//显示代号所对应课程及课程的先修课程(2)intLocateVex(ALGraphG,VertexTypeu) //查找图中某个顶点位置 (3)intCreateGraph(ALGraphG)//采用邻接表存储结构(4)voidDisplay(ALGraphG)//输出图G的信息(5)voidFindInDegree(ALGraphG,intindegree[])//求顶点的入度(6)voidpuanduan(VertexTypestr,structNamename[],intn

4、)(7)intInitStack(SqStack&S)//栈的初始化(8)intStackEmpty(SqStackS)//判空(9)intPop(SqStack&S,SElemType&e)//出栈9(10)intPush(SqStack&S,SElemTypee)//入栈(11)intTopoSort(ALGraphG,AdjListTemp,structNamename[])//拓扑排序(12)voidmain()//主函数1.功能模块详细设计3.1详细设计思想12main()13411256789103.2核心代码3.21.数据类型定义(1)头结点,表结点,邻接表的

5、定义typedefcharVertexType[MAX_NAME];intTotalTerms;                      //学期总数intMaxScores;                        //学分上限typedefstructArcNode{      intadjvex;                       //该弧所指向的顶点的位置弧的节点结构9      structArcNode*nextarc;          //指向下一条弧的指针}ArcNode;                             //表结

6、点 typedefstructVNode                        {      VertexTypedata;                  //顶点信息      intgrades;                       //存储学分信息      ArcNode*firstarc;                //指向第一条依附该顶点的弧的指针}VNode,AdjList[MAX_VERTEX_NUM];      //头结点 typedefstructALGraph//邻接表{      AdjListvertices;      

7、           //vertices存储课程名      intvexnum,arcnum;               //图的当前顶点数和弧数}ALGraph;邻接表的基本操作:voidCreatGraph(ALGraph*);创建邻接表voidFindInDegree(ALGraph,int*);求一个结点的入度intTopoSort(ALGraphG,AdjListTemp,structNamename[])//拓扑排序(2)栈的定义:typedefintSElemType;  //栈类型#defin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。