logo资料库

数据结构课程设计 关键路径.doc

第1页 / 共36页
第2页 / 共36页
第3页 / 共36页
第4页 / 共36页
第5页 / 共36页
第6页 / 共36页
第7页 / 共36页
第8页 / 共36页
资料共36页,剩余部分请下载后查看
数学与计算机学院 课程设计说明书 课 程 名 称: 数据结构课程设计 课 程 代 码: 题 目: 有向图的关键路径 年级/专业/班: 学 生 姓 名: 学 号: 开 始 时 间: 完 成 时 间: 课程设计成绩: 年 年 月 月 日 日 学习态度及平 技术水平与实 时成绩(30) 际能力(20) 创新(5) 说明书(计算书、图纸、 总 分 分析报告)撰写质量(45) (100) 指导教师签名: 年 月 日 目 录 引言……………………………………………………………………………1
xxxx(X 代表你的课程设计题目名称,宋体,5 号字) 1 需求分析…………………………………………………………………… 2 概要设计…………………………………………………………………… 3 详细设计…………………………………………………………………… 4 调试分析…………………………………………………………………… 5 用户使用说明……………………………………………………………… 6 测试结果…………………………………………………………………… 7 结论……………………………………………………………………… 致谢…………………………………………………………………………… 参考文献……………………………………………………………………… 摘 要 随着计算机的普及,计算机在各行各业中的应用中越来越广泛,在实际工程 中也会用到,有时候会根据实际情况要求缩短工期,这时我们就要清楚那些是影 3
xxxx(X 代表你的课程设计题目名称,宋体,5 号字) 响工程进度的非常关键的环节,于是就可以利用 AOE 网,计算完成整个工程预计 需要多少时间,并找出影响工程进度的“关键活动”,从而为决策者提供修改各 活动的预计进度的依据。 关键词:有向图 关键路径 拓扑排序 引 言 1 需求分析 1.1 任务与分析 4
xxxx(X 代表你的课程设计题目名称,宋体,5 号字) 一、设计题目 有向图的关键路径 二、 主要内容 从键盘上输入带权有向图的各顶点和弧上的权值,要求完成下列运算: 1)以邻接表存储该有向图; 2)输出该有向图的各顶点和弧; 3)计算各顶点的入度; 4)如果该有向图的弧表示活动,权表示活动持续的时间(活动和时间用户自行定义), 请编程计算出该 AOE 网的关键路径。 1.2 测试数据 第一组: 6 6 1 2 3 4 5 6 1 3 1 2 3 2 3 4 3 3 5 4 4 6 5 5 6 6 第二组: 9 11 a b c d e f g h i a b 6 a c 4 a d 5 5
xxxx(X 代表你的课程设计题目名称,宋体,5 号字) b e 1 c e 1 d h 2 e f 9 e g 7 h i 4 g i 4 f i 2 第三组: 7 10 v1 v2 v3 v4 v5 v6 v7 v1 v2 3 v1 v4 6 v1 v3 2 v2 v5 4 v4 v5 1 v2 v4 2 v3 v4 1 v3 v6 3 v6 v7 4 v5 v7 3 第四组: 6
xxxx(X 代表你的课程设计题目名称,宋体,5 号字) 6 6 v1 v2 v3 v4 v5 v6 v1 v3 1 v2 v3 2 v4 v3 3 v3 v5 4 v5 v4 5 v5 v6 6 第五组: 1 3 1 v1 v2 v3 v1 v2 1 2 概要设计 2.1 ADT 描述 ADT Graph{ 数据对象 v:v 是具有相同特性额数据元素的集合,称为顶点集。 数据关系:R={VR} VR={|v,e 属于 v,表示 v 到 w 的弧,谓词 p(v,w)定义了弧 的意义或信息} 基本操作: Init(&g):初始化有向图 初始条件:g->n 是有 向图的顶点个数, g->e 是有向图的边数, g->adjlist 是存放有向图的顶点和邻接点的指针的数组。 操作结果:g->n,g->e 赋值为零,数组中的每一行的指针域都赋值为 7
xxxx(X 代表你的课程设计题目名称,宋体,5 号字) 空。 Creat(&g):根据输入信息创建有向图 初始条件:g 是初始化后的图。 操作结果:根据输入的信息建立起邻接表存储的有向图。 Empty(g):判断 g 是否为有向图。 操作结果:如果有向图为空,则返回 true,否则返回 false。 Output(g):按照邻接表的形式输出有向图 初始条件:有向图 g 存在且不为空 操作结果: 按照邻接表的形式输出有向图。 Du(g):求有向图中每个顶点的出度。 初始条件:有向图 g 存在且不为空。 操作结果:求出每个顶点的出度,并输出。 Rdu(g):有向图中每个顶点的出度。 初始条件:有向图 g 存在且不为空 结束条件:求出有向图的中每个顶点的入度。 Topsort(g, u, v):进行拓扑排序求出事件的最早发生时间和最晚发生 时间,并确定是否是关键路径。 初始条件:有向图存在并且不为空。 结束条件:求出每个事件的最早发生时间和最晚发生时间,并确定是 否是关键路径上的时间。 Path(g,u,v,path,d):遍历关键路径并输出。 初始条件:经过拓扑排序之后,关键路径已经。 结束条件:输出关键路径。 CriticPath(g):输出有向图的关键路径 初始条件:拓扑排序成功。 结束条件:输出有向图的所有关键路径,和总工期。 } 2.2 程序模块结构 8
xxxx(X 代表你的课程设计题目名称,宋体,5 号字) 主函数 新 建 有 向 图 输 出 邻 接 表 顶 点 的 出 度 顶 点 的 入 度 输 出 关 键 路 2.2.1 结构体定义 typedef struct ArcNode { int adjvex; struct ArcNode * nextarc; InfroType Infro; bool flag; }ArcNode; typedef struct VNode { Vertex data; int count; ArcNode *firstarc; }VNode; typedef struct Graph { VNode adjlist[MAXN]; 9
分享到:
收藏