




免费预览已结束,剩余49页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
最短路问题 二 最小生成树问题及其解法 三 最短路问题及其解法 一 图论的基本概念 图论的基本概念 一 图的概念 1 图的定义 2 顶点的次数 3 子图 二 图的矩阵表示 1 关联矩阵 2 邻接矩阵 返回 图的定义 定义 定义 返回 顶点的次数 例2在一次聚会中 史密斯先生和他太太邀请四对夫妻参加晚会 每个人到的时候 房间里的一些人都要与别的一些人握手 当然 每个人都不会与自己的配偶握手 也不会跟同一个人握手两次 之后 史密斯先生问每个人和别人握了几次手 他们的答案都不一样 那么史密斯太太和别人握了几次手呢 返回 例1在一次聚会中 认识奇数个人的人数一定是偶数 由图可知 8号的配偶是0号 7号的配偶是1号 6号的配偶是2号 5号的配偶是3号 史密斯太太是4号 所以史密斯太太和别人握了4次手 返回 邻接矩阵 注 假设图为简单图 返回 最短路问题及其算法 一 基本概念 二 固定起点的最短路 三 每对顶点之间的最短路 返回 基本概念 返回 返回 求图的最小生成树最常用的两种算法 1 Prim算法 2 Kruskal算法 注意 在一个加权连通图G中 权最小的那棵生成树称为图G的最小生成树 返回 Prim算法思想 输入加权图的带权邻接矩阵 1 建立初始候选边集B 2 从候选边中选取最短边 u v 3 调整候选边集B 4 重复 2 3 直到T含有n 1条边 Prim算法的实现过程 111123458inf15 439 453 527 236 实现Prim算法的MATLAB程序 a 08inf15 806inf7 inf60910 1inf903 571030 T e 0 v 1 n 5 sb 2 n 1代表第一个红点 sb代表白点集 forj 2 n 构造初始候选边的集合b 1 j 1 1 b 2 j 1 j b 3 j 1 a 1 j end whilesize T 2 n 1 min i min b 3 在候选边中找最短边 T size T 2 1 b i e e b 3 i v b 2 i v表示新涂的红点 temp find sb b 2 i sb temp b i forj 1 length sb 调整候选边d a v b 2 j ifd b 3 j b 1 j v b 3 j d endendend Kruskal算法思想 假设给定了一个加权连通图G G的边集合为E 顶点个数n 则假设最小生成树T中的边和顶点均涂为红色 其余为白色 初始时G中的边均为白色 1 将所有的顶点涂成红色 2 在白色边中 挑选一条权最小的边 使其与红色边不形成圈 将该白色边涂红 3 重复 2 直到n 1条红色边 这n 1条红色边就构成了最小生成树T的边集合 注意 在用Kruskal算法求最小生成树时 在第 2 步判断是否形成圈在程序实现时比较麻烦 实现Kruskal算法的MATLAB程序 加权图的存储结构采用边权矩阵 b i j m 3b 1112233424535455815679103 B I sortrows b 3 B B m size b 2 n 5 t 1 n k 0 T c 0 fori 1 mift B 1 i t B 2 i 判断第i条边是否与树中的边形成圈 k k 1 T k 1 2 B 1 2 i c c B 3 i tmin min t B 1 i t B 2 i tmax max t B 1 i t B 2 i forj 1 nift j tmaxt j tmin endendendifk n 1break endendT c Kruskal实现过程 初始化后排序 B 1412213345535245135678910 第一轮 tmin 1 tmax 4 t 12315 第二轮 tmin 4 tmax 5 t 12311 第三轮 t 1 t 5 直接进入下一轮第四轮 tmin 2 tmax 3 t 12211 第五轮 tmin 1 tmax 2 t 11111 求最短路径的最常用的两种算法 1 Dijkstra算法 2 Floyd算法 注意 普通路径长度定义为该路径所包含的全体边的长度之和 最短路径是指在图中 从顶点u到顶点v的路径中普通路径长度最短的路径称为u到v的最短路径 固定起点的最短路 最短路是一条路径 且最短路的任一段也是最短路 假设在u0 v0的最短路中只取一条 则从u0到其余顶点的最短路将构成一棵以u0为根的树 因此 可采用树生长的过程来求指定顶点到其余顶点的最短路 算法步骤 TOMATLAB road1 1 2 3 4 5 6 7 8 返回 Dijkstra算法的MATLAB实现 w 0218infinfinfinf 20inf61infinfinf 1inf07infinf9inf 8670512inf inf1inf503inf9 infinfinf13046 infinf92inf403 infinfinfinf9630 n size w 1 w1 w 1 赋初值fori 1 nl i w1 i z i 1 ends s 1 1 u s 1 k 1 whilekl u w u i l i l u w u i z i u endendendendl z 求v ll l fori 1 nforj 1 kifi s j ll i ll i elsell i inf endendend lv inf fori 1 nifll i lvlv ll i v i endendlv vs k 1 vk k 1u s k endl z 每对顶点之间的最短路 1 求距离矩阵的方法 2 求路径矩阵的方法 3 查找最短路路径的方法 一 算法的基本思想 三 算法步骤 返回 二 算法原理 算法的基本思想 返回 算法原理 求距离矩阵的方法 返回 算法原理 求路径矩阵的方法 在建立距离矩阵的同时可建立路径矩阵R 即当k被插入任何两点间的最短路径时 被记录在R k 中 依次求时求得 可由来查找任何点对之间最短路的路径 返回 算法原理 查找最短路路径的方法 pk p2 p1 p3 q1 q2 qm 则由点i到j的最短路的路径为 返回 算法步骤 TOMATLAB road2 floyd 返回 Folyd算法的MATLAB实现 function D R floyd a n size a 1 D afori 1 nforj 1 nR i j j endend fork 1 nfori 1 nforj 1 nifD i k D k j D i j D i j D i k D k j R i j R i k endendendk D Rend 在命令窗口中输入 a 09inf3inf 902inf7 inf2024 3inf20inf inf74inf0 floyd a 一 可化为最短路问题的多阶段决策问题 二 选址问题 1 中心问题 2 重心问题 返回 可化为最短路问题的多阶段决策问题 返回 选址问题 中心问题 TOMATLAB road3 floyd S v1 10 S v2 7 S v3 6 S v4 8 5 S v5 7 S v6 7 S v7 8 5 S v3 6 故应将消防站设在v3处 返回 选址问题 重心问题 返回 实验作业 生产策略问题 现代化生产过程中 生产部门面临的突出问题之一 便是如何选取合理的生产率 生产率过高 导致产品大量积压 使流动资金不能及时回笼 生产率过低 产品不能满足市场需要 使生产部门失去获利的机会 可见 生产部门在生产过程中必须时刻注意市场需求的变化 以便适时调整生产率 获取最大收益 某生产厂家年初要制定生产
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鱼类育种课件教学
- 电路导纳知识培训课件
- 电解电容销售知识培训课件
- 电脑硬件基础知识培训课件
- 高考直通车课件听
- 电脑文员知识培训课件
- 基建输变电工程总承包合同
- 电脑听课件多窗口操作
- 电能表计安装及维护课件
- nasmcpt考试试题及答案
- 2025年云南省中考道德与法治试卷真题(含标准答案及解析)
- 上海海事大学工程热力学英文课件chapter1 Basicconception
- 2025至2030中国HTCC陶瓷基板市场销售模式及竞争前景分析报告
- 房屋过户买卖合同贷款事宜范本
- 幕墙施工安全课件
- 呼吸系统疾病诊疗指南共识
- 2025年陕西高考化学试卷试题真题及答案详解(山西宁夏青海适用)
- 子宫腺肌症教学护理查房
- 中国可见光通信项目创业计划书
- 五金件盐雾测试报告
- JG/T 8-2016钢桁架构件
评论
0/150
提交评论