欢迎来到天天文库
浏览记录
ID:31330677
大小:333.00 KB
页数:17页
时间:2019-01-08
《数据结构实验报告-教学计划编制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、WORD完美整理版数据结构与程序设计实验实验报告课程名称数据结构与程序设计实验课程编号0906550实验项目名称教学计划编制学号年级姓名专业计算机科学与技术学生所在学院计算机学院指导教师杨静实验室名称地点21B276哈尔滨工程大学范文范例参考指导WORD完美整理版实验报告五实验课名称:数据结构与程序设计实验实验名称:教学计划编制班级:学号:姓名:时间:2016.05.03一、问题描述学历进修需要学生在一定的时间内完成一定的课程学习,每一门课有一定的学分,修满学分,可获取相应的学历。因为有些课程内容是另一些课程的学习基础,所以课程学
2、习之间存有一定的先后次序。如:某学历的计算机专业需要学习的课程及课程之间的关系如表1所示。表1计算机专业进修课程课程进修关系图课程编号课程名称学分C1程序设计基础2C2离散数学3C3数据结构4C4汇编语言3C5程序设计与分析2C6计算机原理3C7编译原理4C8操作系统4C9高等数学7C10线性代数5C11普通物理2C12数值分析3C13软件工程3C14数据库原理3本设计的主要任务是根据需要完成的课程的先修关系、每学期开设的课程总数及总的学习时间,制定出教学计划。需事先的基本功能如下。a.课程进修目录的读入。b.课程进修目录的编辑,
3、如课程增加、删除、信息修改等。c.满足一定条件的教学计划的输出。二、数据结构设计1.以邻接表存储课程名和学分#defineMAX_VERTEX_NUM100typedefstructArcNode{//弧结构intadjvex;//该弧所指向的顶点的位置;structArcNode*nextarc;//指向下一条弧的指针InfoType*info;//弧的权值指针}ArcNode;//表结点typedefstruct{//头节点VertexTypedata;//顶点信息ArcNode*firstarc;//第一个表结点的地址,指向
4、第一条依附该顶点的弧的指针}VNode,AdjList[MAX_VERTEX_NUM];typedefstruct{范文范例参考指导WORD完美整理版AdjListvertices,vertices2;//分别存课程名和学分intvexnum,arcnum;//图的当前顶点数和弧数intkind;//图的种类标志}ALGraph;//图2.拓扑排序时为了避免重复检测入度为0的顶点,用栈暂存所有入度为0的顶点typedefstructSqStack{SElemType*base;SElemType*top;intstacksize;
5、}SqStack;三、算法设计1.利用邻接表作为存储结构,构造课程先后关系的AOV网intLocateVex(ALGraphG,VertexTypeu){//返回顶点u在图G中的位置inti;for(i=0;i6、指针printf("请输入教学计划的课程数:");//课程数即为顶点数scanf("%d",&G.vexnum);printf("请输入课程先修关系数(弧的数目):");scanf("%d",&G.arcnum);printf("请输入%d个课程的名称(以字符代替):",G.vexnum);for(i=0;i7、vexnum);for(i=0;iadjvex=j;//指向下一个顶点的位置p->info=NUL8、L;范文范例参考指导WORD完美整理版p->nextarc=G.vertices[i].firstarc;G.vertices[i].firstarc=p;}returnOK;}2.在拓扑排序时为了避免重复检测入度为0的顶点,需要用栈暂存所有入度为
6、指针printf("请输入教学计划的课程数:");//课程数即为顶点数scanf("%d",&G.vexnum);printf("请输入课程先修关系数(弧的数目):");scanf("%d",&G.arcnum);printf("请输入%d个课程的名称(以字符代替):",G.vexnum);for(i=0;i7、vexnum);for(i=0;iadjvex=j;//指向下一个顶点的位置p->info=NUL8、L;范文范例参考指导WORD完美整理版p->nextarc=G.vertices[i].firstarc;G.vertices[i].firstarc=p;}returnOK;}2.在拓扑排序时为了避免重复检测入度为0的顶点,需要用栈暂存所有入度为
7、vexnum);for(i=0;iadjvex=j;//指向下一个顶点的位置p->info=NUL
8、L;范文范例参考指导WORD完美整理版p->nextarc=G.vertices[i].firstarc;G.vertices[i].firstarc=p;}returnOK;}2.在拓扑排序时为了避免重复检测入度为0的顶点,需要用栈暂存所有入度为
此文档下载收益归作者所有