代码改变世界

图论基本概念

2015-04-10 23:00  星星之火✨🔥  阅读(1418)  评论(0编辑  收藏  举报

几种常见的图的分类:

类型 允许多重边 允许环
简单图 无向   否  否
多重图 无向   是  否
伪图 无向   是  是
有向图 有向   否    是
有向多重图 有向   是  是

 

 

 

 

 

 



完全图:n个顶点上的完全图是在每对不同顶点之间都恰有一条边的简单图。

二分图:若把简单图G的顶点集合分为两个不相交的非空集合V1和V2,使得图里的每一条边都连接着V1里的一个顶点和V2里的一个顶点(因此G里面没有边是连接着V1里的两个顶点或V2里的两个顶点),则G称为二分图(从定义中可以看出,二分图必无环,但可以有多重边)。

  用标号法可以方便地判断一个图是否是二分图:

  首先给任意一个顶点标上A,与标记A的顶点邻接的顶点标上B,再将标记为B的顶点邻接的顶点标记上A,续行此法,如果这个过程可以完成,使得没有相邻的顶点标上相同的字母,则该图是二分图,否则它就不是二分图。

  另:如果标记成功,可以将两个顶点子集X与Y中的顶点分开画,与原图形形成一个同构图,这样可以直接地看出它是一个二分图。

完全二分图:设G是一个二分图,若G是一个简单图,并且X中的每个顶点与Y中的每个顶点均邻接,则称G为完全二分图。

  易知,完全二分图中共有|X|·|Y|条边。


图的表示和图的同构:

常见的图的表示方式:边表、相邻矩阵(简单图的相邻矩阵是对称的0-1矩阵,当出现环或多重边时,矩阵对称但不是0-1矩阵,此时第(i, j)项是与{vi, vj}关联的边数。另外,有向图的相邻矩阵不必是对称的)、关联矩阵(顶点与边的n*m矩阵,用相等项的列来表示多重边,恰有一项等于1的列来表示环)。

同构:当两个简单图同构时,两个图的顶点之间具有保持相邻关系的一一对应(注意:同构的图是等价的图,只是画的方式不同而已)。

  容易看出,两图同构的必要条件有:顶点数相等、边数相等、度数相同的顶点数相等(总的顶点度更得相等)。遗憾的是,目前尚没有用来判定简单图是否同构的不变量集。


连通性:

通路:在无向图里从顶点u到v的路径。

回路:若一条通路在相同的顶点上开始和结束,则它是一条回路。

简单通路(回路):若一条通路(或回路)不重复地包含相同的边,则它是简单的。

无向图连通性:若无向图里每一对不同的顶点之间都有通路,则该图称为连通的。

有向图连通性:根据是否考虑边的方向:有向图里由两种连通性概念。

  强连通:每当a和b都是一个有向图里的顶点时,就有从a到b和从b到a的通路。

  弱连通:在有向图的底图(底图:有向图忽略边的方向后得出的无向图)里,任何两个顶点之间都有通路。

    显然,任何强连通的有向图也是弱连通的。

连通分支:不连通的图是两个或两个以上连通子图之并,每一对子图都没有公共顶点,这些不相交的连通子图称为图的连通分支。

由连通性引发的几个概念:

  割点:如果删除一个顶点和它所关联的边,该图的连通分支增加,这样的顶点就叫做割点。

  割边:把一旦删除就产生比原图更多的连通分支的子图的边称为割边(或桥)。


欧拉通路与哈密顿通路:

欧拉通路(或回路):包含着图G的每一条边的简单通路(或回路)。

  定理:连通多重图具有欧拉回路当且仅当它的每个顶点都有偶数度。

  定理:连通多重图具有欧拉通路而无欧拉回路,当且仅当它恰有两个奇数度顶点。

  上述两个定理的证明见这里

哈密顿通路与哈密顿回路:包含图的每一个顶点恰好一次的简单通路和回路(相对而言:欧拉通路和欧拉回路包含多重图每一条边恰好一次)。