- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
73[煤气管道铺设]
煤气管道铺设
目 录
需求分析---------------------------------------------------
概要设计---------------------------------------------------
详细设计---------------------------------------------------
调试问题---------------------------------------------------
五、 测试结果---------------------------------------------------
六、总结-----------------------------------------------------------
1 需求分析
1.1 任务要求
若在n个城市之间铺设煤气管道,只需要架设n-1条线路即可。如何以最低的经济代价铺设煤气管道。
要求:
(1)在纸上模拟设计n个城市的网络平面图,城市数不少于10个,相通的城市数不少于2(n-1),顶点表示各城市,边表示城市间的距离。在计算机中表示该图;
(2)编写算法,求解最小代价煤气管道网络;
(3)输出该煤气管道网络中各边及其权值。
选择一种数据结构并编程实现基本要求。
1.2 软件功能分析(注:用自己的语言描述)
此题可以用最小生成树的办法解决(普里姆算法):把N个城市看作N个顶点,把需要铺设管道的两个城市间用线连起来,把相连的两个城市之间的距离作为这一条边的权(假设所有管道的单位造价相同)。把所有边的权按照大小排列起来,先选权最小的边的两个顶点放到集合S,再选第二条边,把与这条边关联的顶点纳入S,但前提是所选的边不能与前面所选的边构成回路,就这样依次选取。若有权相同的n条边则任选一条,但前提是所选的边不能与前面所选的边构成回路。接下来选的时候还是选n条边中的一条前提依然和前面相同。当所选的路的个数为N-1时就停止,此时的线路即为最优的铺设线路。
1.3 数据准备(注:可以用图形和文字描述)
2 概要设计(如果2,3合并可以省略2.4)
2.1 功能模块图(注:含功能说明)
2.2 模块间调用关系
函数名 函数参数 返回值 功能 main 无 无 系统主函数
输入路径信息 Prim 无向图邻接矩阵
路径数目 代价 Prim算法实现
2.3 主程序模块
main函数是一个程序的入口MAXCOST (0x7fffffff)表示。
例如:
A B C A MAXCOST 2 3 B 2 MAXCOST 1 C 3 1 MAXCOST
流程:①初始化所有路径为无穷大
②获取城市和城市间通路路径的数目
③获取边信息
④将边信息对称存储在二维数组里,则形成邻接矩阵
⑤求解最小生成树(调用Prim函数)
⑥输出最小权值的和
2.4 抽象数据类型描述
抽象数据类型图的定义如下:
ADT Graph {
数据对象 V:V是具有相同特性的数据元素的集合,称为顶点集。
数据关系 R:R= {VR}
VR={v,w}|v,w∈V且P(v,w),v,w表示从v到w的弧,谓词P(v,w)定义了弧v,w的意义或信息。}
基本操作P:
CreatGraph(G,V,VR);
初始条件:V是图的顶点集,VR是图中弧的集合。
操作结果:按V和VR的定义构造图G。
LocateVex(G, u);
初始条件:图G存在,u和G中顶点有相同的特征。
操作结果:若G中存在顶点u,则返回该顶点在图中的位置;否则返回其他信息。
DestoryGraph(u);
初始条件:图G存在。
操作结果:销毁图G。
GetVex(G, v);
初始条件:图G存在,v是图中某个顶点。
操作结果:返回v的值。
NextAdjVex(G, v, w);
初始条件:图G存在,v是图中某个顶点,w是v的邻接顶点。
操作结果:返回v的(相对于w的)下一个邻接顶点。若w是v的最后一个邻接点,则返回“空”。BFSTraverse(G, Visit( ));
初始条件:图G存在,Visit是顶点的应用函数。
操作结果:对图进行广度优先遍历。在遍历过程中对每个顶点调用函数Visit一次且仅一次。一旦visit( )失败,则操作失败。}#includestdio.h
#includestdlib.h
#define MaxVertexNum 12
#define MaxEdgeNum 20
#define MaxValue 1000
typedef int Vertextype;
typedef int adjmatrix[MaxVertexNum][MaxVer
您可能关注的文档
最近下载
- 2025年AI在企业人力资源中的应用白皮书2.0 -智、效双驱: 赋新质、创新生.pdf VIP
- CRL-H户用超声热量表-汇中仪表.pdf VIP
- 第二语言习得02 相关领域与研究传统 PPT课件.pptx VIP
- 人工智能的利与弊最新完整版本.pptx VIP
- CRTAS-2024-05 互联网租赁自行车运营服务规范.docx
- 姑溪河当涂闸枢纽工程环境影响报告书.pdf VIP
- 项目管理人员安全培训课件.pptx VIP
- 【2024版】普通话水平测试用朗读作品 50 篇带拼音版.pdf VIP
- 第二语言习得03 早期研究 PPT课件.pptx VIP
- 汽车行业质量管理体系IATF16949认证审核及评审清单(内审员、外审员、过程审核员如何开展审核?).pdf VIP
原创力文档


文档评论(0)