1 / 13

一、复习 图论的概念

1. 2. 3. 一、复习 图论的概念. 简单图 :没有环和多重边(关联同一对顶点的二条以上的边),则称为简单图。(一般指无向图) 简单图中,任一回路的长度至少是 3 。 基础图 :从图 G 中删去所有环,并使每一对相邻的顶点只留下一条边,即可得到 G 的一个生成子图,称为 G 的基础简单图 点的可达 : u 和 v 是有向图的两个顶点,若有一条从 u 到 v 的有向路,则称 v 是从 u 可达的,或者说 u 可达 v 完全图: 图中每一对不同顶点都有一条边相连. 二、连通性. (1) 如果 有向图 D 的 任意 两个顶点都互相可达,则称 D 是 强连通

lee-silva
Download Presentation

一、复习 图论的概念

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 1 2 3 一、复习 图论的概念 • 简单图:没有环和多重边(关联同一对顶点的二条以上的边),则称为简单图。(一般指无向图) • 简单图中,任一回路的长度至少是3。 • 基础图:从图G中删去所有环,并使每一对相邻的顶点只留下一条边,即可得到G的一个生成子图,称为G的基础简单图 • 点的可达:u和v是有向图的两个顶点,若有一条从u到v的有向路,则称v是从u可达的,或者说u可达v • 完全图:图中每一对不同顶点都有一条边相连

  2. 二、连通性 • (1)如果有向图D的任意两个顶点都互相可达,则称D是强连通 • (2)如果有向图D的任何两个顶点至少由一个顶点到另一个顶点可达,则称为单向连通 • (3)若D的基础图Gd是单向连通,则称D为弱连通 • 显然,每一个强连通是单向连通的,而每一个单向连通是弱连通

  3. 1 2 1 2 1 2 5 5 5 4 3 4 3 4 3 (c)弱连通图 (b)单连通图 (a)强连通图

  4. 三、连通分量

  5. A B C D E F G 一个连通分量 • 1、连通分量概念 • 无向图的极大连通子图成为一个连通分量。 • 2、求一个无向图的所有连通分量, • 可以使用标号法。 Var visited=array[1..n] of datatype; mark:integer; Procedure connect() Var i:integer; Begin fillchar(visited,sizeof(visited),0); mark:=1; for i:=1 to n do if visited[i]=0 then begin dfs(I, mark,visited[i]); inc(mark); End; End; Procedure dfs(k,mark:integer,var t:integer ); Var i:integer; Begin if visited[k]<>0 then exit; t:=mark; //置标识 for i:=1 to n do if a[k,i]<>0 then dfs(I,mark,visited[i]) End;

  6. 1 1 2 3 3 2 4 4 3、 2-连通分量 • 在一个无向连通图G中,如果任意去掉一个顶点i以及与i相连的所有边后所得到的图依然是连通的,则称该图为2-连通图。否则,如果去掉顶点i,得到两个或两个以上的连通分量,则该图不是2-连通的,顶点i被称为关键顶点。 (a)2-连通图 (b)非2-连通图

  7. 4、性质 • (1)在2-连通图中,任何一对顶点都至少存在两条路径可以相互到达。图的连通性不会受任何一个顶点的影响。 • (2)无向图的极大2-连通子图称为2-连通分量。 • A、一个无向图都具有1个或多个2-连通分量。 如果无向图是一个2-连通图,那么它本身就是自己唯一的连通分量。 • B、一个无向图具有2个或2个以上的连通分量时,它的任意两个2-连通分量最多只可能有一个公共顶点。(请用反证法进行证明)

  8. 6 1 4 2 3 5 图1 图1是无向图,顶点3为图中关键顶点,可知图1不是2-连通图,包含2个2-连通子图(1,2,3),(3,4,5), 假设:在图1上有另外一个公共顶点6,就是说图1中两个2-连通子图之间有2个公共顶点。 从用2-连通图的定义可知,图1就是一个2-连通图,整个图是一个连通分量,这与题中的2个2-连通分量相矛盾。 因此,性质b是正确的 • C、同一条边不可能处在多个2-连通分量中 • 证明:任意一条边p连接顶点(a,b),如果p属于两个2-连通分量中,则顶点a,b在两个连通分量中,与性质b矛盾。 • 因此,所有的2-连通分量事实上把整个无向图的边划分为互不相交的边子集。 • Menger定理:设G是简单图,则G是k-连通图的充分必要条件是G中任何两点之间有k条独立路(无公共点的路)

  9. 1 6 1 2 4 5 2 7 3 5 8 3 6 4 (a)无向图 (b)深度优先搜索生成树 7 8 • 5 找一个无向图G的所有2-连通分量的方法: • 深度优先搜索的生成树。 • 如图: 注意: (b)图中两条虚线边,属于图G不属于生成树的边,称为回边 (1)如果生成树的根是关键顶点,当且仅当它有多于一个子女。 (2)如果生成树的非根节点是关键顶点,当且仅当它没有一个后代可以通过回边回到它的祖先 反过来,如果有一个或多个后代有回边回到它的祖先,非根节点是关键节点是否成立??

  10. 在dfs生成树中,一般还定义一个dfn(x)表示x在dfs中访问次序,例如dfn(x)=4,表示顶点x是第4个被访问的顶点。如果有dfs(i)<dfs(j),则表示顶点i是优先于j访问的。在dfs生成树中,一般还定义一个dfn(x)表示x在dfs中访问次序,例如dfn(x)=4,表示顶点x是第4个被访问的顶点。如果有dfs(i)<dfs(j),则表示顶点i是优先于j访问的。 • 为了方便知道一个顶点是不是关键顶点,对于每一个顶点定义一个值low,low[i]是从顶点i或i的后代出发通过回边所能到达的最低深度优先数。 • Low[i]:=min{dfn[i], • min{low[j]|j是i的子女}, • min{dfn[k]|(i,k)是一条回边} • }

  11. Dfn:=1 Low:=1 Dfn:=2 Low:=2 1 Dfn:=3 Low:=3 Dfn:=5 Low:=5 2 Dfn:=6 Low:=6 Dfn:=4 Low:=1 3 Dfn:=7 Low:=7 5 6 Dfn:=8 Low:=5 4 (b)深度优先搜索生成树 7 8 从右图中,可以看出这里有两个2-连通分量。注意:红色的部分要在最后修改 如果,(1,5)之间有一个回边,那么右图中dfn与low数组的变化情况会如何呢? 下图从v3开始搜索:

  12. 6 1 6 1 4 5 4 5 2 7 2 7 3 8 8 3 (a)无向图 (b)无向图 同一个连通分量成为块,块与块之间的路称为桥。 深度优先搜索树本身只能求连通分量,但是可以通过标志,保存很多重要的信息, Dfn与low的标志为我们提供了求块,桥,以及关键顶点起到重要的作用。 左图的关键顶点为:2 5 桥:e[2,5] 块 {1,2,3,4} {5,6,7,8} 右图的关键顶点为:? 桥:? 块 ? 请画出dfs树

  13. 我们曾学习过求有向图强连通分量的三个算法:我们曾学习过求有向图强连通分量的三个算法: Tarjan算法、Kosaraju算法 、Gabow算法 都与深度优先搜索树有关系。 要求掌握Tarjan算法,并且写出无向图的求连通分量的算法!!

More Related