图论知识整理(1)定义、存储及遍历

=====================================

发现以前图论学的很不好,什么都不会,现在开始整理图论知识了

作者就是个蒟蒻,ORZ各位大神们

=====================================

首先,定义(最恶心的了)

点集:图中点的集合,用V表示。

边集:图中边的集合,用E表示。

图:点集与边集的结合,用G表示,通常写作G=(V,E)。

图的阶:点集的大小,等于|V|,如上图,这张图的阶为10。

度:图中与某个顶点相关联的边的数目,称作顶点的度。。

  度为奇数的称为奇点,度为偶数的称为偶点。

    容易得知,上面的图中全部是奇点。

  有向图中,路径通向这个顶点的数目叫做入度,从这个顶点出发的路径的数目叫出度。

(原谅我语文不太好,描述的并不是特别清楚)

带权图:每条边都有一个权值。

完全图:任意两个顶点间都有一条边相连的图,我们记作G0=(V,E)。

补图:设G=(V,E)的补图为G',那么G'=G0-G。

   特别的,完全图的补图为空(这句话我并不确定)。

子图:设原图为G=(V,E),那么从V中选出任意x个元素组成V’由E中选出任意y个元素组成E',那么G'=(V',E')为G=(V,E)的子图

其中,x最多为|V|,y最多为原图的边数。

重边:设当前有一条边(u,v)(u、v为顶点),如果又添加进一个(u,v),那么就是重边。

  当无向图的时候,若添加进(v,u)也视作重边。

路径:一般是指一条链,v1->v2->v3->...->vn为一条路径。

环:v1->v2->v3->...->vn->v1就是一条环了。

自环:如果一个环只包含一个元素v,那么这个环为v1的自环。

简单图:没有环(包括自环),没有重边的图。

连通:从vi到vj有一条路径,那么vi、vj是连通的,有向图需要考虑方向

连通图:任意两个顶点都有路径相连

强连通图:有向图,任意两个顶点x、y间,x、y是联通的,同时y、x也是连通的,那么就是强连通图

    作者发现了一些东西:对于无向图,只要他是连通的,就必定是强连通的。不过对于定义的前提貌似………………

    (你们还是省略上面那句话好了)

强连通分量:极大的强连通子图,对于强连通图,强连通分量只有一个,为本身。

    非强连通的有向图可能会有多个强连通分量

你现在找到了一个强连通分量,你可以删去一些点,再加入一些另外的点,让它仍然保持是一个强连通图,那么就会有多个强连通分量

点割集:点集V’∈V,若G删除了V’后不连通,但删除了V’的任意真子集后G仍然连通。则称V’为点割集。若某一结点就构成了点割集,则称此结点为割点

边割集:边集E’∈E,若G删除了E’后不连通,但删除了E’的任意真子集后G仍然连通。则称E’为边割集。若某一条边就构成了边割集,则称此边为割边或桥。 

呼~终于写完定义了。

下面来看---图的存储方法:

1. 邻接矩阵(我觉得这个已经够清楚了,不必多说)

2. 邻接表(同上)

3. 边集数组 SPFA会用到,可以参照http://blog.fishc.com/2535.html#prettyPhoto,这里面还有其他数据结构。

图的遍历分两种:

1. DFS

2. BFS 

这个大家应该都挺了解的吧,就不展开了

 

posted @ 2015-05-24 12:08  TonyFang  阅读(522)  评论(0编辑  收藏  举报