图论的几种算法概要.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
练习 某街道如图 欲建立有线网络连接 画出此街道各顶点均相联的最短道路(最优生成树) ☆A 1 3 4 2 1 6 1 2 3 1 4 2 5 6 3 2 1 END * Email:sunyl@swufe.edu.cn 图 论 算 法 数值计算 搜索法、最速下降…… 规划方法 单纯型法、匈牙利算法…… 非数值运算 搜索法、图论算法、组合优化…… 现代优化方法 遗传算法、蚁群算法、神经网络…… 算法分析 哥尼斯堡七桥问题 从某点出发通过每座桥且每桥只通过一次回到起点 D A B C 一、图的一般理论 1、起源 A B C D 建模: 点——陆地 岛屿 边——桥 一个图G由一个顶点集V和一个边的集E组成。 E中每个元素e是连接顶点集 V中两个顶点u和v的边。 例: 图G V,E : 点集 V v1,v2, ...,vn 边集 E e1,e2, ...,em 其中 ek vivj 图G V,E : 其中 V v1,v2,v3,v4,v5 E e1,e2,e3 ,e4 e1 v1v2,e2 v2v4,e3 v1v4,e4 v5v2 e1 v1 v2 v3 v4 v5 e2 e3 e4 2、定义 图的图形表示 例 联接 点的位置, 边的长度 × v1 v2 v3 v4 v5 e1 e2 e3 e4 比较: 同构 G1 G2 G3 1 2 3 4 3 4 2 1 3 4 1 2 v1 v2 v3 v4 v5 e2 e3 e4 例 (1)邻接矩阵 点点 3、矩阵表示 v1 v2 v3 v4 v5 e1 e2 e3 e4 e5 e6 e7 e8 例 (2)关联矩阵 点边 v1 v2 v3 v4 v5 e1 e2 e3 e4 e5 e6 e7 e8 例 4、连通性 邻 接 长2 通路: 长3 长n-1 连通矩阵 v1 v2 v3 v4 v5 e1 e2 e3 e4 e5 e6 e7 e8 l01.m 二、最短路问题 1、单源最短路问题——Dijkstra 赋权图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, 否则:结束 v0 v u d v d u w u,v [distance,path,pathway] dijkstra v0,w 最短路的长度、前点、路径 源点 带权邻接矩阵 说明: Matlab 程序: dijkstra.m while k n for i 1:n if distance i distance u +w u,i distance i distance u +w u,i ; path i u; end end (求v*:V-S中最小距离点) k k+1; s k v; u s k ; end %赋初值 s v0; %已求得最短路径的结点 distance w v0,: ; path v0*ones 1,n ; u s 1 ; k 1; %s长 dijkstra.m 求v*:V-S中最小距离点 %求路径 %V-S中距离 d distance; for i 1:n for j 1:k if i s j d i inf; break end end end %V-S中最小距离 [dmin,v] min d ; pathway zeros n ; pathway 1:n,1:2 [v0*ones n,1 , 1:n ]; for i 1:n q i; while path q ~ v0 pathway i,2:n [path q ,pathway i,2: n-1 ]; q path q ; end end 例 v1 v2 v3 v4 v5 8 6 9 1 5 7 10 3 OK l02.m 带权邻接矩阵 Floyd 算法思想 带权邻接矩阵——两点之间 插入顶点——缩短距离:构造出个矩阵D 1 、 D 2 、… 、D n-1 最后得到距离矩阵——最短路径. 递推公式 2、每对顶点之间的最短路——Floyd 带权 邻接

文档评论(0)

我是追梦人 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档