• 图 -- 基础



      图可以分为有向图(directed graph)和无向图(undirected graph)。

      每个顶点都临界的无向图为完全图(complete graph)。如果无向图G的顶点集V可以划分为V1,V2,是的对(u,v)属于E有u属于V1,v属于V2,则称图为二分图(bipartite graph)。

      无回路的无向图成为森林;连通的,无回路的无向图为(自由)树,也叫做有向无环图(dag)。 

      有n(n-1)/2条边的无向图称为完全图(complete graph).

      具有n(n-1)条弧的有向图称为有向完全图.

      对于有向图,e的取值范围时0 到 n(n-1).

      有很少条边的图称为稀疏图(sparse graph),有反之称为稠密图(dense graph).

    有向图


       有向图G是一对(V,E),其中V是有穷集,E是V上的二元关系。V成为G的顶点集,E成为G的边集。可能存在自身环(self-loops)。

      G中一条边(u,v),称(u,v)离开(incident from/leaves)定点u,到达(incident to/ enters)定点v。

      顶点的度等于该顶点的入度(in degree)和出度(out degree)之和。出度是以其为起点的边的个数;入度是以其为终点的边的个数。

    无向图


       无向图G中,边集E是由无序定点对,而非有序顶点对构成的。(u,v)和(v,u)视为同一条边。在无向图中不允许有自身环。

      G中一条边(u,v),称(u,v)关联(incident on)定点u,v,顶点u,v是相邻的(adjacent).

      在无向图中,顶点的度(degree)是与之关联的边的个数。如果一个顶点的度为0,则成为孤立的(isolated)。 

      无论是有向图还是无向图, 都满足图的边数 e = 度之和/2

    路径


      图G中顶点u到顶点v的路径是,以顶点u为起点,顶点v为终点的顶点的集合。路径中边的个数为路径的长度。

      如果图中包含顶点u到顶点v的路径p,则成顶点u是经过p可达(reachable)顶点v的。

      如果一个路径中所有顶点都是不同的,则成为简单路径(simple path)。

      在有向图中,如果起点与终点相同,且路径至少有一条边,则成路径(v0,...,vk)形成回路。如果回路中顶点个不相同,则为简单回路。

    连通


      在无向图中,如果所有顶点都有路径相连,则成为连通图(connected)。连通分量(connected component)指的是无向图的极大连通子图。

      在有向图中,如果每对顶点都是相互可达的,则称其为强连通图(strongly connected)。有向图的极大强连通子图称做有向图的强连通分量 

      

    生成树


      一个连通图的生成树是一个极小的连通子图,它包含图中所有的顶点,但是只有n-1条边.

      对于有n个顶点的图,如果其边数少于n-1,则非连通;如果其边数多于n-1,则存在环;边数为n-1的不一定是生成树.

      

    存储模式


      邻接矩阵:    所需空间O(V*V), 可以在O(1)的时间判断两个顶点(vertex)是否相邻.(对于稀疏图,耗费空间)

      邻接表:     所需空间O(V + E), 判断两个顶点是否相邻需要遍历相关两个链表.(缺点: 边的两个顶点在不同的链表中).

      十字链表:    所需空间O(V + E), 可以方便的计算顶点的出度和入度,寻找以某顶点为头/尾的边.(有向图)

      邻接多重表:   

    遍历


      图中任何顶点都有可能和其余的顶点相邻接,在访问了某个顶点后,可能沿着某条路径又回到该顶点上.所以,需要辅助数组.

      时间复杂度:  在遍历图时,依靠辅助数组,对每个节点只会访问一次.因此,对于邻接矩阵存储的图,遍历的时间复杂度为O(V*V);对于邻接表存储的图,遍历的时间复杂度为O(V+E).

      

  • 相关阅读:
    umeng社交分享最新版5.0的跨进程使用崩溃的问题及解法-Android
    AlertDialog禁止返回键
    一个男人想经商,不读 100本商人自传,怎么会了解商人的思维状态
    Android中使用Gson解析JSON数据的两种方法
    DevExpress gridControl控件动态绑定列 zt
    获得WCF Client端的本地端口 z
    log4net.dll配置以及在项目中应用 zt
    系统交易策略 hylt
    判斷作業系統為 64bit 或 32bit z
    路徑 z
  • 原文地址:https://www.cnblogs.com/carlsama/p/4198135.html
Copyright © 2020-2023  润新知