- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机与软件工程学院
课程设计说明书
课 程 名 称: 数据结构与算法课程设计
课 程 代 码:
题 目:
年级/专业/班:
学 生 姓 名:
学 号:
开 始 时 间: 2013 年 12 月 18 日
完 成 时 间: 2013 年 12 月 28 日
课程设计成绩:
学习态度及平时成绩(20) 技术水平与实际能力(20) 完成情况(20)
创新(5) 说明书(计算书、图纸、分析报告)撰写质量(35) 总 分(100) 指导教师签名: 年 月 日
目 录
引 言 1
1需求分析 1
1.1任务与分析 1
1.2测试数据 1
2 概要设计 3
2.1设计思路 3
2.2层次图 3
3 详细设计 4
3.1主函数的实现 4
3.2数据录入实现 5
3.3输出图的各顶点和弧的实现 6
3.4计算各顶点的入度 7
3.5输出关键路径 7
4调试分析 8
5用户使用说明 9
6测试结果 9
6.1录入数据 9
6.2功能实现 9
6.3测试结论 11
致 谢 13
参考文献 14
摘 要
具有最大路径长度的路径称关键路径,关键路径上的活动称关键活动。课程设计主要要求求有向图的关键路径。用领接表存储结构储存有向图。用深度遍历的方式输出有向图的顶点和弧。程序实现了存储有向图,输出有向图的各顶点和弧,计算顶点的入度和求有向图的关键路径这四个功能。用领接表存储结构储存有向图,用深度遍历的方式输出有向图的顶点和弧,用遍历查找的方式计算顶点的入度。求关键路径时先用拓扑排序函数判断有向图是否有回路,调用求关键活动的函数找到关键路径,最后输出。
关键词:领接表;入度;AOE网;关键路径;
引 言
工程有很多的阶段,这些阶段之间有一定的先后关系和自己的时间。我们可以用图来表示工程,将其输入程序中,可以用程序计算出工程的相关信息,如,工程完成的最短时间,哪些活动会影响工程的进度等。要解决这些问题就可以用领接表储存图,并计算各个事件和各个阶段的最早发生时间和最晚发生时间,得到关键活动,从而的到关键路径。
1需求分析
从键盘上输入图的各顶点和弧上的权值,用领接表储存。在屏幕上输出图的顶点和弧。计算输出顶点的入度。如果图是AOE网,输出关键路径。
1.1任务与分析
首先定义边节点和顶点的结构体,将输入的数据用链接表储存起来,领接表即是顺序+链式的存储方式。将顶点顺序储存,将该顶点为起点的弧指向的另一顶点及其相关信息存储在链表中。
采用深度遍历的方式,输出顶点和弧。
判断顶点是否在弧尾,在弧尾就在入度的计数变量上加一。
首先要将图进行拓扑排序,看是否有回路,没有回路才能求关键路径。求AOE网的关键路径要先求到各个事件的最早发生时间和最迟发生时间,再求有向边的最早和最迟发生时间,活动的最晚发生时间和最早发生时间相减等于0时,该活动即为关键活动,再将关键活动按顺序连起来极为关键路径。
1.2测试数据
带权有向图测试数据如下:
测试数据1如图1-1:
图1-1测试图1
测试数据2如图1-2:
图1-2 测试图2
测试数据3如图1-3:
图1-2 测试图3
2 概要设计
2.1设计思路
程序分总的来说分为四大功能模块:输入储存;输出顶点和弧;输出各顶点的入度;输出关键路径。在输出关键路径的模块中包括:拓扑排序判断是否有回路;计算各事件的最早发生时间和最晚发生时间;求活动的最晚发生时间,判断该活动是否是关键活动;输出关键路径。
首先调用输入存储模块创建图,用菜单工作的方式来实现对各个输出功能模块的调用。
输入储存:ALGraphT::ALGraph(T a[ ], int n, int e)
输出顶点和弧:void Print();
输出各顶点的入度:void indegree();
输出关键路径:void critical_path(ALGraph G);
输出关键路径模块中的子模块:
拓扑排序:void TopSort(ALGraph G);
事件的时间:void vv(ALGrapph G);
判断是否是关键活动:void keyEvent(ALGraph G);
2.2层次图
各模块间的层次如图2-1:
图2-1 各模块间的层次图
3 详细设计
3.1主函数的实现
首先输入图的顶点的个数和边的个数,程序通过输入的数来判断要创建的图的大小,调用图的构造函数,输入图的相关信息。之后,为了方便用
您可能关注的文档
- 毕业论文(参考)基于STM32F1的频谱分析仪.doc
- 毕业论文(参考)基于STM32开发板的多功能温度计设计报告.doc
- 毕业论文(参考)基于STM32的便携式音乐播放器设计.doc
- 毕业论文(参考)基于STM32的便携式心电图仪设计.doc
- 毕业论文(参考)基于stm32的便携式心电图仪.doc
- 毕业论文(参考)基于stm32的便携式心电图仪设计0.doc
- 毕业论文(参考)基于stm32的便携式心电图仪设计v1.8.doc
- 毕业论文(参考)基于STM32的火焰自动报警系统的研究.doc
- 毕业论文(参考)基于STM32的MP3播放器设计0.doc
- 毕业论文(参考)当前中小企业成本管理存在的问题及其对策.doc
- 微型消防站技能竞赛理论考试题(附答案).doc
- 自考《课程与教学论》考试复习题(附答案).doc
- 2025年《解剖学》专升本考试复习题(附答案).doc
- 铁路列车员(初级)职业技能鉴定参考试题(附答案).doc
- 自考《设计原理》09235考试复习题(附答案).doc
- 《MarryMe》歌词文字超级动画.pptx
- 小学二年级语文删字换词阅读理解答题技巧PPT课件.pptx
- 2015款凯迪拉克XTS维修手册A168574-2890864.pdf
- 2025年中考英语写作常考文体提分培优复习专题11 启事类(解析版) .docx
- 2025年中考英语写作常考文体提分培优复习专题25学习与提升(原卷版) .docx
文档评论(0)