没有合适的资源?快使用搜索试试~ 我知道了~
14_1951096_蓝笙聆1
需积分: 0 0 下载量 54 浏览量
2022-08-08
18:05:51
上传
评论
收藏 488KB DOCX 举报
温馨提示
试读
35页
项目说明文档项目说明文档项目说明文档项目说明文档离散数学课程实验报告——通信道路造价模拟系统离散数学课程实验报告——通信道路造价模拟系统离散数学课程实验报告——
资源详情
资源评论
资源推荐
二○二○年十二月
项目说明文档
离散数学课程实验报告
——通信道路造价模拟系统
培养单位:软件学院
本 科 生:蓝 笙 聆
学 号:1951096
指导老师:唐 剑 锋
目录
I
目录
第 1 章 分析 .......................................................................................................................................................1
1.1 背景分析 .............................................................................................................................................1
1.2 功能分析 .............................................................................................................................................1
第 2 章 设计 .......................................................................................................................................................2
2.1 数据结构设计 ....................................................................................................................................2
2.2 类结构设计.........................................................................................................................................2
2.3 成员与操作设计................................................................................................................................2
2.4 系统设计 .............................................................................................................................................4
第 3 章 实现 .......................................................................................................................................................5
3.1 插入点功能的实现...........................................................................................................................5
3.1.1 插入点功能流程图 ..............................................................................................................5
3.1.2 插入点功能核心代码..........................................................................................................5
3.1.3 插入点功能截屏示例..........................................................................................................7
3.2 插入边功能的实现...........................................................................................................................8
3.2.1 插入边功能流程图 ..............................................................................................................8
3.2.2 插入边代码实现...................................................................................................................8
3.2.3 插入边功能截屏示例 .......................................................................................................10
3.3 删除点功能的实现.........................................................................................................................10
3.3.1 删除点功能流程图............................................................................................................10
3.3.2 删除点代码实现.................................................................................................................11
3.3.2 删除点功能截屏示例 .......................................................................................................12
3.4 删除边功能的实现.........................................................................................................................12
3.4.1 删除边功能流程图............................................................................................................12
3.4.2 删除边代码实现.................................................................................................................13
3.4.3 删除边功能截屏示例 .......................................................................................................15
3.5 Prim 算法生成最小生成树功能的实现 ....................................................................................16
3.5.1 Prim 算法生成最小生成树功能流程图........................................................................16
3.5.2 Prim 算法生成最小生成树功能代码实现 ...................................................................16
3.5.3 Prim 算法生成最小生成树功能截屏示例 ...................................................................18
3.6 Kruskal 算法生成最小生成树功能的实现 ...............................................................................19
3.6.1 Kruskal 算法生成最小生成树功能流程图...................................................................19
3.6.2 Kruskal 算法生成最小生成树功能代码实现 ..............................................................19
3.6.3 Kruskal 算法生成最小生成树功能截屏示例 ..............................................................21
3.7 总体系统的实现 .............................................................................................................................22
3.7.1 总体系统流程图.................................................................................................................22
3.7.2 总体系统代码实现............................................................................................................22
3.7.3 总体功能截屏示例............................................................................................................25
第 4 章 测试.....................................................................................................................................................26
目录
II
4.1 功能测试...........................................................................................................................................26
4.1.1 插入点功能测试.................................................................................................................26
4.1.2 插入边功能测试.................................................................................................................26
4.1.3 删除点功能测试.................................................................................................................27
4.1.4 删除边功能测试.................................................................................................................27
4.1.5 Prim 算法生成最小生成树功能测试 ............................................................................28
4.1.6 Kruskal 算法生成最小生成树功能测试 .......................................................................28
4.2 边界测试...........................................................................................................................................29
4.2.1 删除最后一个点.................................................................................................................29
4.2.2 对唯一一个点生成最小生成树 .....................................................................................29
4.3 出错测试...........................................................................................................................................30
4.3.1 删除点不存在 .....................................................................................................................30
4.3.2 插入点已存在 .....................................................................................................................30
4.3.3 删除边不存在 .....................................................................................................................30
4.3.4 插入边已存在 .....................................................................................................................31
4.3.5 对空图生成最小生成树...................................................................................................31
4.3.6 对非连通图生成最小生成树..........................................................................................31
4.3.7 操作码错误..........................................................................................................................32
第 1 章 分析
1
第 1 章 分析
1.1 背景分析
如下图所示的赋权图表示某七个城市,预先计算出它们之间的一些直接通信
道路造价(单位:万元),试给出一个设计方案,使得各城市之间既能够保持通
信,又使得总造价最小,并计算其最小值。
随着计算机科学技术的不断成熟,使用电网造价模拟系统进行模拟,具有手
工计算所无法比拟的优势。这些优点能够极大地提高效率,也是社会走向信息
化、科学化、国际化的重要条件。因此,开发一套电网造价模拟系统具有十分
重要的意义。
图 1 七个城市赋权图
1.2 功能分析
作为一个最简易的直接通信道路造价模拟系统,在每个小区之间都可以设置
一条通信道路,都要付出相应的经济代价。n 个小区之间最多可以有 n(n-1)/2
条线路,选择其中的 n-1 条使总的耗费最少。
第 2 章 设计
2
第 2 章 设计
2.1 数据结构设计
如上功能分析所述,该系统要求作图并生成最小生成树,故考虑使用图。
2.2 类结构设计
经典的图一般包括三个抽象数据类型(ADT)——图类(Graph <T>)、点类
(Vertex <T>)与边类(Edge <T>),而三个类之间的耦合关系可以采用嵌套、
继承等多种关系。为方便处理,本系统采用模板 struct 结构体描述树点类(Vertex
<T>)与边类(Edge <T>),这样使得图类(Graph <T>)可以访问链表结点。
2.3 成员与操作设计
点结构体(Vertex)
template <class T>
struct vertex {
T val;
vertex(const T& val) : val(val){};
vertex() : val(){};
bool operator==(const vertex& v2) const { return (this->val == v2.val); };
bool operator==(const T& v2) const { return (this->val == v2); };
bool operator!=(const vertex& v2) { return !(*this == v2); };
bool operator!=(const T& v2) { return !(*this == v2); };
bool operator<(const vertex& v2) const { return (this->val < v2.val); };
bool operator>(const vertex& v2) const { return (this->val > v2.val); };
void operator=(const vertex& v2) { this->val = v2.val; };
void operator=(const T& v2) { this->val = v2; };
};
边结构体(Edge)
template <class T, class E>
struct edge {
剩余34页未读,继续阅读
weixin_35780426
- 粉丝: 19
- 资源: 286
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- python-leetcode面试题解之第274题H指数.zip
- python-leetcode面试题解之第270题最接近二叉搜索树值.zip
- python-leetcode面试题解之第267题回文排列II.zip
- python-leetcode面试题解之第264题丑数II.zip
- python-leetcode面试题解之第263题丑数.zip
- python-leetcode面试题解之第258题各位相加.zip
- python-leetcode面试题解之第257题二叉树的所有路径.zip
- python-leetcode面试题解之第253题会议室II.zip
- python-leetcode面试题解之第252题会议室.zip
- python-leetcode面试题解之第249题移位字符串分组.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0