图论算法学习课件.pptVIP

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图 论 算 法 主讲:孙云龙 算法分析 数值计算 搜索法、最速下降…… 规划方法 单纯型法、匈牙利算法…… 非数值运算 搜索法、图论算法、组合优化…… 现代优化方法 遗传算法、蚁群算法、神经网络…… 一、图的一般理论 哥尼斯堡七桥问题 从某点出发通过每座桥且每桥只通过一次回到起点 2、定义 一个图G由一个顶点集V和一个边的集E组成。 E中每个元素e是连接顶点集 V中两个顶点u和v的边。 图的图形表示 例 3、矩阵表示 例 (2)关联矩阵(点边) 例 4、连通性 例 二、最短路问题 赋权图G 从点v0到其余结点的通路——权和最小 Dijkstra算法思想 按路径长度递增顺序求最短路径算法 两个集合:S已求得最短路径的结点、V-S未确定? 每一步:将S 与V-S之间最短路经终点加入S 存储 G:带权邻接矩阵 每点标记 (dj, pj):至j点最短路径的长度、前一点 Dijkstra算法流程 赋初值:w, 各点与源点之间:已求S={v0}, 最短长度d=w(v0,:)、前一点p= v0 u= v0 更新d、p: 若d(i)d(u) +w(u,i),则d(i)=d(u) +w(u,i),p(i)=u 寻找v: V-S中使d(i)最小的v: S=S?{v}, u= v 若V-S??,重复2, 否则:结束 Matlab 程序: dijkstra.m [distance,path,pathway]= dijkstra(v0,w) 最短路的长度、前点、路径 源点 带权邻接矩阵 说明: 求v*:V-S中最小距离点 %求路径 OK 例 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; 三、树 无回路的连通图: 树根, 树叶, 树枝 例: 最小生成树 Kruskal 算法——避圈法 开始: G中的边均为白色 在白色边中,挑选一条权最小的边,使其与红色边不形成圈,将该白色边涂红; 重复:直到有n-1条红色边,这n-1条红色边便构成最小生成树T的边集合 注:如何加边判断不形成圈? 判断两端点是否属于同一子树 子树:用最小标号点纪录 Matlab 程序: Kruskal.m 纪录两端点与边权 赋初值 树 权和 所在子树的 最小标号点 进入最小树 的边数 OK 例 四、其他 Euler图 存在一条通过所有边一次的路线的图:遍历边 Th 若图 G 为欧拉图 ?? G 连通,且所有结点度数(以此点为端点的边的个数)均为偶数 中国邮路问题——遍历边——路最短 带权图——权和最小 算法:Fleury Hamilton图 存在通过每结点一次的路线的图:遍历点——国际难题 旅行商问题——遍历点——路最短→ 权和最小的回路 算法:改良圈算法 二分图 匹配问题 算法:匈牙利算法 网络流 最大流 算法:Ford-Fulkerson标号算法 着色图 点、边、面 算法: 说明 著名算法:dijkstra floyd 应用:建模竞赛 98B 灾情巡视路线 07B 公交线路 练习 洪水排险 求区域间的邻接矩阵 区域1至区域20长度不超过5的路径有多少条 是否任两区域通过长度不超过5的路径均可达到 练习 某街道如图 画出A点到各顶点的最短道路(最短路经生成树) 练习 某街道如图 求任两顶的最短道路 练习 某街道如图 欲建立有线网络连接 画出此街道各顶点均相联的最短道路(最优生成树) END ☆A 1 3 4 2 1 6 1 2 3 1 4 2 5 6 3

文档评论(0)

ipad0d + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档