没有合适的资源?快使用搜索试试~ 我知道了~
项目8_1751022_李翠琪1
需积分: 0 0 下载量 176 浏览量
2022-08-08
18:27:05
上传
评论
收藏 642KB DOCX 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/86348880/0001-0b89278016433e8fbb080bb33ed3ec01_thumbnail-wide.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
20页
2.push函数:令N+1,并且在N处添加元素,然后将这个元素swim,使得还是一个堆 3.delMin函数:最小元素在堆顶,先用一个变量存储堆顶的值,将堆顶与
资源详情
资源评论
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/86348880/bg1.jpg)
电网建设造价模拟系统
作 者 姓 名: 李翠琪
学 号: 1751022
指 导 教 师: 张颖 __
学院、 专业: 软件工程 __
同济大学
Tongji University
![](https://csdnimg.cn/release/download_crawler_static/86348880/bg2.jpg)
![](https://csdnimg.cn/release/download_crawler_static/86348880/bg3.jpg)
1
目录
1 分析 ..............................................................................................................................1
1.1 项目简介..............................................................................................................1
1.2 功能分析..............................................................................................................1
2 设计与实现 ....................................................................................................................2
2.1 Edge.h 设计与实现 ..............................................................................................2
2.2 EdgeWeightedGraph.h 设计与实现.....................................................................2
2.3 Queue.h 与 Node.h 设计与实现 ..........................................................................4
2.4 MinPQ.h 设计与实现...........................................................................................5
2.5 UF.h 设计与实现 .................................................................................................7
2.6 KruskalMST.h 设计与实现..................................................................................9
2.7 MainTest.cpp 设计与实现 .................................................................................10
3 测试 ..............................................................................................................................13
3.1 功能测试............................................................................................................13
3.1.1 测试 1......................................................................................................13
3.1.2 测试 2......................................................................................................15
1 分析
1.1 项目简介
假设一个城市有 n 个小区,要实现 n 个小区之间的电网都能够相互接通,构造这个
城市 n 个小区之间的电网,使总工程造价最低。请设计一个能够满足要求的造价方案。
在每个小区之间都可以设置一条电网线路,都要付出相应的经济代价。n 个小区之
间最多可以有 n(n-1)/2 条线路,选择其中的 n-1 条使总的耗费最少。
![](https://csdnimg.cn/release/download_crawler_static/86348880/bg4.jpg)
- 2 -
1.2 功能分析
首先,每个小区当作一个顶点,那么就有 n 个顶点。两个小区之间设置一条电网线路
相互联通且有相应的经济代价。所以可以抽取为一个加权无向图的模型。
所以问题就成了求一个加权无向图的最小生成树。所以首先需要用户输入小区即顶
点数,并且给每个小区进行命名以方便查看。然后用户将添加若干个电网线路以及他们
之间的花费。而程序就负责找出这个加权无向图的最小生成树,并且显示出来。
我用了 Kruskal 算法,所以需要许多类来辅助。大致架构是,MainTest 类与用户交互,
负 责 接 受 用 户 输 入 , 并 且 用 EdgeWeightedGraph 类 构 造 加 权 无 向 图 , 并 且 通 过
KruskalMST 类得到一个存储边(Edge 类)的队列(Queue 类)(存储了最小生成树的
边),然后再将这些边显示出来。而 KruskalMST 类还需要最小堆(MinPQ 类)找最小
的边与 UF 类辨认连通分量。所以总的来说有八个类以及一个 input.txt 存储一些测试数
据。
2 设计与实现
2.1 Edge.h 设计与实现
Edge 类代表了图中的边,它有三个成员变量:边的两个顶点 v,w 与 double 类型的
权值 weight。
构造函数就将这三个参数传入;还有三个函数分别得到 v,w,weight 的值,不过
有些不同的是 other 函数是根据传入的边传出另外一条边,更加的灵活(如 other(v)
传回 w)。最后重载了小于运算符<,根据 weight 进行比较。
class Edge
{
public:
剩余19页未读,继续阅读
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![avatar](https://profile-avatar.csdnimg.cn/91a956b0b7cf42c0b5dd7eca1b3e6793_weixin_35779309.jpg!1)
士多霹雳酱
- 粉丝: 20
- 资源: 299
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 用K210进行垃圾识别,通过串口发送不同信号给stm32,控制步进电机进行分类,并且语音播报.zip
- 基于Matlab 实现单径瑞利信道下,交织与卷积编码对误码率影响仿真
- 基于PCL的平面点云格网可视化程序代码
- DataSphereStudio是一个一站式数据应用程序开发和管理门户,涵盖数据交换、脱敏/清理、分析/挖掘、质量测量、可视化等
- python对mysql的操作
- 基于python opencv实现的图像上色源码+项目说明.7z
- 智能车相关外设模块,包含寻迹传感器、编码器、电机驱动、舵机、TFT彩屏、按键、蜂鸣器、无线通讯八个模块
- 可以使用的jdk8 离线镜像安装
- HBase总结.xmind
- 电子设计竞赛经验分享-选择适合的比赛,团队合作*题目分析等
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0