2020年新版管道铺设施工的最佳方案问题.docx

想预览更多内容,点击预览全文

申明敬告:

本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己完全接受本站规则且自行承担所有风险,本站不退款、不进行额外附加服务;如果您已付费下载过本站文档,您可以点击这里二次下载

文档介绍

问题描述:

1■实验题目:

需要在某个城市n个居民小区之间铺设煤气管道,则在这n个居民小区之间 只需要铺设n-1条管道即可。假设任意两个小区之间都可以铺设管道,但由于地 理环境不同,所需要的费用也不尽相同。选择最优的方案能使总投资尽可能小, 这个问题即为求无向网的最小生成树。

2■基本要求:

在可能假设的m条管道中,选取n-1条管道,使得既能连通n个小区,又 能使总投资最小。每条管道的费用以网中该边的权值形式给出, 网的存储采用邻 接表的结构。

3■测试数据:

使用下图给出的无线网数据作为程序的输入, 求出最佳铺设方案。右侧是给 出的参考解。

4.简述每一部分的对象、目的和要求:

主函数部分:

对象:图G;

目的:为图G分配空间,以作为后续调用函数的参数;

要求:无。

Create_ALGraph()函数部分:

对象:顶点,边及其权值;

目的:将顶点,边存放在一起,构成图;

要求:构造顶点表,各顶点的邻接表以构造图。

Create_WLGraph()函数部分:

对象:图G;

目的:将图中的权值只存放一次,存放到 w指向的结构体中;

要求:权值只存放一次,再分别存放该边的左右顶点。

select」nfo() 函数部分:

对象:w指向的结构体;

目的:将该结构体中的各权值以升序排列;

要求:采用简单选择法进行排序。

Create_TLGraph()函数部分:

对象:排序后的w指向的结构体;

目的:找到构成最小生成树的边;

要求:依权值升序排列,判断各边是否构成回路来取舍各边。

需求分析

程序所能达到的基本可能:

在n个小区m条管道中,选取n-1条管道,实现连通这n个小区,同时权 值之和为最小。

输入输出形式及输入值范围:

程序运行后,用户可根据提示信息: "Please in put the vertices and the

edgesv n,e>:输入顶点数和

最近下载