美文网首页
八、图(一)、基本概念

八、图(一)、基本概念

作者: 默默_David | 来源:发表于2020-07-03 12:45 被阅读0次

    数据结构目录

    一、定义

    图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。


    图形结构

    对于图的定义,我们需要明确几个注意的地方:

    • 线性表中我们把数据元素叫元素,树中叫结点,在图中数据元素我们则称之为顶点(Vertex)
    • 线性表可以没有数据元素,成为空表,树中可以没有结点,叫做空树,而图结构在国内大部分教材中强调顶点集合V要有穷非空
    • 线性表中,相邻的数据元素之间具有线性关系,树结构中,相邻两层的结点具有层次关系,而图结构中,任意两个顶点之间都可能有关系,顶点之间的逻辑关系用边来表示,边集可以是空的。

    无向边:若顶点Vi到Vj之间的边没有方向,则称这条边为无向边(Edge),用无序偶(Vi,Vj)来表示。

    无向边

    如上图所示,图G1是一个无向图,G1={V1,E1},其中
    V1 = {A,B,C,D}
    E1 = {(A,B),(B,C),(C,D),(D,A),(A,C)}

    有向边:若从顶点Vi到Vj的边有方向,则称这条边为有向边,也称为弧(Arc),用有序偶<Vi,Vj>来表示,Vi称为弧尾,Vj称为弧头。

    有向边
    如上图所示,图G2是一个有向图,G2={V2,E2},其中
    V2={A,B,C,D}
    E2={<B,A>,<B,C>,<C,A>,<A,D>}

    二、各种特殊的图

    1.简单图

    在图结构中,若不存在顶点到其自身的边,且同一条边不重复出现,则称这样的图为简单图。
    如下图所示,下图两个都不是简单图


    非简单图

    2.无向完全图

    在无向简单图中,如果任意两个顶点之间都存在边,则称该图为无向完全图。含有n个顶点的无向完全图有n*(n-1)/2条边。


    无向完全图

    3.有向完全图

    在有向简单图中,如果任意两个顶点之间都存在方向互为相反的两条弧,则称该图为有向完全图。含有n个顶点的有向完全图有n*(n-1)条边。


    有向完全图

    4.稀疏图和稠密图

    这里稀疏和稠密是模糊的概念,都是相对而言的,通常认为边或弧度小于n*logn(n是顶点的个数)的图称为稀疏图,反之称为稠密图

    5.权、网

    有些图的边或者弧带有与它相关的数字,这种与图的边或弧相关的数叫做权(Weight),带权的图通常称为网(Network)


    权和网

    6.子图

    假设有两个图G1={V1,E1},G2={V2,E2},如果V2⊆V1,E2⊆E1,则称G2为G1的子图。


    左边为图,右边为它的子图

    三、图的顶点与边之间的关系

    对于无向图G=(V,E),如果边(V1,V2)∈E,则称顶点V1和V2互为邻接点(Adjacent),即V1和V2相邻接。边(V1,V2)依附(incident)于顶点V1和V2,或者说边(V1,V2)与顶点V1和V2相关联
    顶点V的(Degree)是和V相关联的边的数目,记为TD(V),如下图,顶点A与B互为邻接点,边(A,B)依附于顶点A与B上,顶点A的度为3。

    对于有向图G=(V,E),如果有<V1,V2>∈E,则称顶点V1邻接到顶点V2,顶点V2邻接自顶点V1。
    以顶点V为头的弧的数目称为V的入度(InDegree),记为ID(V),以V为尾的弧的数目称为V的出度(OutDegree),记为OD(V),因此顶点V的度为TD(V)=ID(V)+OD(V)。
    下图顶点A的入度是2,出度是1,所以顶点A的度是3

    有向图

    从顶点V1到顶点V2之间所经过的所有边叫做路径(Path)
    下图用红线列举了从顶点B到顶点D的四种不同路径

    路径

    有向图的路径是有方向的。
    下图用红线列举顶点B到顶点D的两种路径,而顶点A到顶点B就不存在路径啦:


    有向图的路径

    路径的长度是路径上的边或弧的数目。
    第一个顶点和最后一个顶点相同的路径称为回路或环(Cycle)。
    序列中顶点不重复出现的路径称为简单路径,除了第一个顶点和最后一个顶点之外,其余顶点不重复出现的回路,称为简单回路或简单环
    下图左侧是简单环,右侧不是简单环:

    简单环(左)、非简单环(右)

    在无向图G中,如果从顶点V1到顶点V2有路径,则称V1和V2是连通的,如果对于图中任意两个顶点Vi和Vj都是连通的,则称G是连通图(ConnectedGraph)
    下图左侧不是连通图,右侧是连通图:

    非连通图(左) 连通图(右)

    无向图中的极大连通子图称为连通分量
    注意以下概念:

    • 首先要是子图,并且子图是要连通的
    • 连通子图含有极大顶点数
    • 具有极大顶点数的连通子图包含依附于这些顶点的所有边。


      连通分量

    在有向图G中,如果对于每一对Vi到Vj都存在路径,则称G是强连通图
    有向图中的极大强连通子图称为有向图的强连通分量
    下图左侧并不是强连通图,右侧是。并且右侧是左侧的极大强连通子图,也是左侧的强连通分量。

    强连通图

    连通图的生成树
    所谓的一个连通图的生成树是一个极小的连通子图,它含有图中全部的n个顶点,但只有足以构成一棵树的n-1条边。


    生成树:n个顶点,n-1条边的连通图

    如果一个有向图恰有一个顶点入度为0,其余顶点的入度均为1,则是一棵有向树

    有向树

    相关文章

      网友评论

          本文标题:八、图(一)、基本概念

          本文链接:https://www.haomeiwen.com/subject/lxvjqktx.html