精品带权图的最短路径_1课件_第1页
精品带权图的最短路径_1课件_第2页
精品带权图的最短路径_1课件_第3页
精品带权图的最短路径_1课件_第4页
精品带权图的最短路径_1课件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

定义 设 G (V, E)是简单图,若对于每一个e,均有 一正实数W(e)与之对应,则称W是G的权函数,并称G为带 权图,记为 G (V, E, W)。 我们研究带权图,一个重要的内容就是寻找某类具有最小(最大) 权的子图,其中之一就是最短路问题,例如:给定一个连接各城市的铁 路网络(连通的带权图),在这个网络中的两个指定的城市之间确定一 条最短路。 定义 设G (V, E, W)是带权图,(ei1,ei2,eik)是G 中的一条路,的路长为W()W(ei)。从u到v的最短路P是 指满足下列条件的路 W(P) minW()|为从u到v的路 由上述定义可以看到,如果每条边的权函数值为1,则带权图的路长 与一般图的路长是一致的。 带权图的最短路径 求最短路长的算法是E.W.Dijkstra于1959年提出来的,这是 至 今公认的求最短路长的最好算法,我们称它为Dijkstra算法 。 Dijkstra算法 功能:在连通的带权图中,求从v0到v的最短路的路长。 No1. p0 v0;P v0;T Vv0; d(p0) 0; ( tT)(d(t) ); No2. ( tT)(d(t) min(d(t),d(p0)+W(p0,t); No3. 在T中选取t0, 使( tT)(d(t0)d(t); No4. p0 t0 ;P Pt0;T Tt0; No5. if p0 v then goto No2 else end。 例1. 求图1中从v0到v5的最短路径. 1. p0 v0, P v0, T v1,v2,v3,v4,v5 d(p0) 0, d(v1) d(v2) d(v3) d(v4) d(v5) . 2. d(v1) 1, d(v2) 4, d(v3) d(v4) d(v5) . 3. t0 v1 4. p0 t0 v1, P v0,v1, T v2, v3,v4,v5. 5. p0v5 , GoTo 2. 2. d(v2) 3, d(v3) 8, d(v4) 6, d(v5) . 3. t0 v2 4. p0 t0 v2, P v0,v1,v2, T v3,v4,v5 5. p0v5 , GoTo 2. v0 v2 v1v3 v4 v5 1 4 2 5 7 1 3 2 6 2. d(v3) 8, d(v4) 4, d(v5) . 3. t0 v4. 4. p0 t0 v4, P v0,v1,v2, v4, T v3, v5. 5. p0v5, GoTo 2. 2. d(v3) 7, d(v5) 10. 3. t0 v3 4. p0 t0 v3, P v0, v1, v2, v3, v4, T v5 5. p0 v5, GoTo 2. 2. d(v5) 9. 3. t0 v5. 4. p0 t0 v5, P v0,v1,v2,v3,v4,v5, T . 5. p0 v5 . Dijkstra算法的基本思想是:将图 G 中结点 集合 V 分成两部分,一部分称为具有 P 标号的集合, 另一部分称为具有 T 标号的集合。所谓结点的 P标 号是指从 v0 到的最短路的路长,而结点的标号 是指从 v0 到的某条路径的长度。Dijkstra算法中首 先将 v0 取为 P 标号结点,其余的点均为 T 标号结点, 然后逐步地将具有 T 标号的结点改为 P 标号结点,当 结点 v 也被改为 P 标号时,就找到了从 v0 到v 的最短 路径的长度。 6 Euler图 Euler图的来历为konigsberg七桥问题 。 定义1 设 G (V, E) 是无向连通图。 1) 若存在一条路 P,此路通过 G 中每条边且仅一 次,则称此路为Euler路。 2) 若存在一圈 C,此圈通过 G 中每条边一次且仅 一次,则称此圈为Euler圈。 3) 若G中有Euler 圈,则称G为Euler图。 这类通过各边恰好一次的问题就是通常所说的一笔画 问题(即笔不离纸,线不重复)。 定理1 设 G (V,E) 是无向连通图,那么,G是Euler 图当且仅当G中每个结点都是偶结点。 例1 图G如图所示,问图G是否为Euler图,若是,求 出其Euler圈。 由于G中的六个结点均为偶结点 且G连通,根据Euler定理可知,G 为Euler图,仿照定理证明的办法, 可得到G中的Euler圈。具体步骤如 下: 1 23 4 5 6 在图中任意找一简单圈C(1,2,3,1),发现还有7条边不 在此圈中,边3,4不在C中且与圈中的结点3相关联。由结点3 出发经过边3,4可得一简单圈C(3,4,5,3),将C并入C得到一 个新的更长的简单圈 C(1,2,3,4,5,3,1)。此时仍有4条边不在C 中,边4,6不在C中且与结点4关联。由结点4出发经过边4,6 又可得到一简单圈C(4,6,5,2,4),将C并入C得到一个更长的 简单圈C(1,2,3,4,6,5,2,4,5,3,1)。由于G中所有的边都已在C中 ,故知此圈C为G中的一个Euler圈。 例2在哥尼斯堡七桥问题中, 由于每个结点均为奇结点,故由 Euler定理的充要条件知,该图中 不存在经过每条边一次且仅一次 的Euler圈。即该问题无解。 A B C D 推论 设G为连通无向图,G中有Euler路的充要条件 为G中恰有两个奇结点 。 证: 由条件知G中有一条Euler路,除了Euler路的起 点和终点外,其余的结点都是此路中所经过的点,将 Euler路的起点和终点连一条边,则得到一个新的图G, G连通且是Euler图,故G中每个结点为偶结点,将G中 添入的边删去,则G中恰有两个奇结点。 若G中恰有两个奇结点,将这两个奇结点连一 条边就得到一个新图G,G连通且无奇结点,则G是 Euler图,即G中有Euler圈。在G中将新添的边删去,就 得到G且G中有一条Euler路。 定义2 设G(V,E)是无向图,eE,若W(Ge) W(G)。则 称e为G的割边,其中W(G)表示G的连通支数。 如何在恰有两个奇结点的连通图中寻找Euler路,可参考 下面的方法。 Fleury算法,从一个奇结点出发走到另一个奇结点: 1)从一个奇结点出发,每走一边抹去一边; 2)在走边的过程中,除非没有其它选择时才走割边。 例3 在右图中,恰有两个奇 结点4和9,故存在Euler路, 按照Fleury算法可得其中一条 Euler路为(9,7,8,9,10,11,12,10, 3,2,1,3,4,5,6,4)。 1278 93 4 561112 10 定理2 设 G(V,E) 是强连通的有向图,G中 有Euler圈当且仅当G中每个结点的出度等于入度 。 定理3 设 G(V,E) 是强连通的有向图,G中 有Euler路当且仅当G中有一个结点的入度比出度 多1,有一个结点的出度比入度多1,其余每个结 点的出度等于入度。 7. Hamilton 图 Hamilton爵士(18051865)在1859年发明了一种游 戏,用一个正实心的十二面体,它的二十个顶点标有二十 个城市的名字,要求游戏者找一条沿着各边通过每个顶点 一次且仅一次的闭合回路,即绕行世界问题。Hamilton以 25个金币的代价将他的设计卖给了一个玩具商。 由于正十二面体是由12个相同的正五边形组成,且有 20个顶点,该问题为怎样才能沿着12面体的棱旅行,经过 每个城市恰好一次,然后回到家中。Hamilton给出了这个 问题的肯定的答复。 定义1 设 G(V,E) 是无向连通图 1)若存在一条路,此路通过G中每一个结点一次且仅 一次,则称此路为H路。 2)若存在一圈,此圈通过G中每个结点一次且仅一 次,则称此圈为H圈。 3)若G中有圈,则称G为H图。 要指出的是,尽管从表面上看Hamilton问题和Euler 问题似乎很相似,但它们之间并无必然的联系。 例 是Euler图 不是Hamilton图 是Hamilton图 不是Euler图 定理1 设G(V,E)是H图,那么对于V的任一非空子集 S,有W(GS)|S|,其中W(G)表示G的连通支数。 例 在图(a)中,有9个结点。当将中间层上的三个结 点删去时,此时图2(a)变为图2(b),而图2(b) 的连通支数为4 ,由定理知它不是图。 图2(b) 图2(a) 定理 设G(V, E)是具有n个结点的简单无向连通 图,若对任意u,vV,均有 deg(u)+deg(v)n1,则中 有一条路。 容易看出,定理2中的条件对图中是否存在H路是 充分的而不是必要的。如图 5中的六边形G虽然不满足定 理2中的条件,但G中有H路。 定理3 设G(V, E)是n个结点的简单无向连通图。 若对于任意的u,vV,均有deg (u)+deg (v)n, 则G是H 图。 定理4 设G(V, E)是个竞赛图(即G中任两点间有 且只有一条有向边),则G中存在一条H路。 8 二分图(二部图,偶图) 二分图的来历是各委员会选主任委员的问题。 现有l个委员会,这l个委员会共有m个成员,要在这m 个成员中选出各委员会的主任委员,其条件为: 1)每个委员会只能有一个主任委员; 2)每个委员会的主任委员必须是该委员会的成员; 3)每个人最多只能担任一个委员会的主任委员(不能 兼职)。 问在什么条件下该问题有解,并求解。 要想一般性地解决这类问题,通常分成三步来完成: 1) 建立数学模型; 2) 找出解的存在条件; 3) 求解。 现在为选举主任委员问题建立一个数学模型。 令各委员会以及各委员会的成员为结点。 若某个人是某个委员会的成员,则该两结点间有边相 连,否则无边相连。于是就得到了用图论方法表示的这个问 题的数学模型。 V1 c1,c2,c3,c4, c5,c6,c7 为委员会的集合, V2 m1,m2,m3,m4,m5,m6,m7,m8,m9为各委员会成员的集 合。 V1中每个结点的度数表示每个委员会有多少个成员 V2中每个结点的度数代表每个人参加了多少个委员会 这个图的特点是委员会之间无关系,各成员之间无关系 ,只有在委员会和成员之间才可能有关系。 C1C2C3C4C5C6C7 m1m2m3m4m5m6m7m8m9 定义1 设G(V, E)是简单无向图,若存在V的一个划分 V1,V2,使得EV1 T; i0。 若 kn1,则结束。 i i1; 若T ei无圈,则T T ei ; k k1; GoTo 。 删除边ei ; GG ei; GoTo 。 11 有根树 Rooted tree 定义1 设G(V, E)是有向图,若 1)G中有一个特殊结点r, deg(r)0; 2) 对于G中其它任何结点 vr, 均有 deg(v)1; 3) r 到 G 中任何结点均有路可达; 则称G为有根树。其中, 1)入度为零的结点称为根, 2)出度为零的结点称为叶子, 3)出度不为零的结点称为分支点。 定义2 设 T 为有根树,若给 T 的每一层结点规定了顺 序,则称 T 为有序树。 定义3 设T为有根树,若对于任意结点v,有 deg(v) m, 则称此有根树为m叉树。如果对每个结点v有deg(v)m或者 deg(v)0, 则称此有根树为完全m叉树。 定义4 设 T 为 m 叉有序树,而且 T 的每一层上诸结点 都有规定的位置,则称 T 为 m 叉位置树。 在 m 叉位置树中最重要的一种是二叉位置树,它在计 算机科学中有着十分重要的应用。 H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w-z1C4G7JaMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w- A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w- z1D4G7JbMePhTkWoZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w- z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x- A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w-z1C4G7JaMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPgSkVnZq$t*x- A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)y0C3F7IaPhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w- A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F6IaLdPgSjVnYq!t*w- A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IahTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w-z1C4G7JaMePhTkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w- z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3EaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x- A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$t*x- A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论