- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模型18:图论模型.ppt
数学建模 第十八讲 图论模型 2、每对顶点之间的最短路——Floyd Floyd 算法思想 带权邻接矩阵——两点之间 插入顶点——缩短距离:构造出个矩阵D(1)、 D(2)、… 、D(n-1) 最后得到距离矩阵——最短路径. 递推公式 例: 带权 邻接 矩阵 两点之间:插入顶点 矩阵 Matlab 程序: floyd.m [D,path]=floyd(w) 最短路的长度、后点 带权邻接矩阵 OK 例 求路径 function pathway=road(path,v1,v2) %求路径:floyd的后续指令 pathway=v1;q=v1;k=1; while path(q,v2)~=v2 k=k+1; pathway(k)=path(q,v2); q=path(q,v2); end pathway(k+1)=v2; 三、遍历问题 存在一条通过所有边一次的路线的图:遍历边 介绍:中国邮路问题 带权图: 边加权 最小遍历: 边 → 回路 例: 无欧拉回路 → 找 → 权和最小的回路 2、哈密顿图 周游世界20个城市 20个城市:平均分布在世界各地 例 介绍: 旅行商问题 带权图 找通过每一点 → 权和最小的回路 四、树 无回路的连通图: 树根, 树叶, 树枝 例: 最小生成树 Kruskal 算法——避圈法 开始: G中的边均为白色 在白色边中,挑选一条权最小的边,使其与红色边不形成圈,将该白色边涂红; 重复:直到有n-1条红色边,这n-1条红色边便构成最小生成树T的边集合 注:如何加边判断不形成圈? 判断两端点是否属于同一子树 子树:用最小标号点纪录 Matlab 程序: Kruskal.m 纪录两端点与边权 赋初值 树 权和 所在子树的 最小标号点 进入最小树 的边数 OK 例 END 主讲人:孙云龙 数学建模课件 主讲人:孙云龙 数学建模课件 Email:sunyl@swufe.edu.cn 数学实验 与 二、最短路问题 1 2 3 4 5 6 7 8 9 10 1 1 4 1 3 6 2 7 2 3 5 4 1 1 3 2 2 1 2 3 4 5 6 7 8 9 10 1 1 4 1 3 6 2 7 2 3 5 4 1 1 3 2 2 1——5通过1点 于是 1——5通过1点 于是 按1、2…… 会不会错过一些点? %设初值 D=w; path=zeros(n); for i=1:n for j=1:n if D(i,j)~=inf path(i,j)=j; end end end floyd.m %迭代,更新D path for k=1:n for i=1:n for j=1:n if D(i,k)+D(k,j)D(i,j) D(i,j)=D(i,k)+D(k,j
文档评论(0)