73[煤气管道铺设].docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档