zoukankan      html  css  js  c++  java
  • 图论知识整理(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 

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

    这篇文章由TonyFang发布。 所有解释权归TonyFang所有。 Mailto: tony-fang@map-le.net
  • 相关阅读:
    《Python核心编程》数字类型
    我的Android进阶之旅------>Android关于Log的一个简单封装
    Flex中TabNavigator隐藏和显示选项卡
    【HDOJ 5654】 xiaoxin and his watermelon candy(离线+树状数组)
    兔子-svnserver,client搭建
    数据库事务的隔离级别简单总结
    Oracle oledb 打包并集成到程序安装包(VC ADO訪问Oracle)
    kafka分区及副本在broker的分配
    每天进步一点点——mysql——Percona XtraBackup(innobackupex)
    CodeForces 550D Regular Bridge(构造)
  • 原文地址:https://www.cnblogs.com/TonyNeal/p/graph1.html
Copyright © 2011-2022 走看看