美文网首页程序员
图的奇葩定义

图的奇葩定义

作者: AceKitty | 来源:发表于2017-02-26 23:21 被阅读86次

在线性表中,每个元素之间只有一个直接前驱和一个直接后继,在树形结构中,数据元素之间是层次关系,并且每一层上的数据元素可能和下一层中多个元素相关,但只能和上一层中一个元素相关。
但这仅仅都只是一对一,一对多的简单模型,如果要研究如人与人之间关系就非常复杂了。

图的定义

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

图形结构:图形结构的数据元素是多对多的关系

对于图的定义我们需要明确一下几个地方:

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

图的各种奇葩定义

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


    图片.png

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

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


    图片.png

    上图G2是一个无向图,G2={V2,E2},其中V2={A,B,C,D} E={<B,A>,<B,C>,<C,A>,<A,D>}

  3. 简单图:在图结构中,若不存在顶点到其自身的边,且同一条边不重复出现,则称这样的图为简单图。


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


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


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

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


    图片.png
  8. 假设有两个图G1=(V1,E1)和G2=(V2,E2),如果V2⊆V1,E2⊆E1,则称G2为G1的子图(Subgraph)。 图片.png
  9. 对于无向图G(V,E),如果边(V1,V2)⊆E,则称顶点V1和V2互为邻接点(Adjacent),即V1和V2相邻接。边(V1,V2)依附(Incident)于顶点V1和V2,或者说边(V1,V2)与顶点V1和V2相关联。

  10. 顶点V的度(Degree)是和V相关联的边的数目,记为TD(V),如下图,顶点A与B互为邻接点,边(A,B)依附于顶点A与B上,顶点A的度为3。


    图片.png
  11. 对于有向图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。 图片.png
  12. 无向图G=(V,E)中从顶点V1到顶点V2的路径(Path)。下图用红线列举了从顶点B到顶点D的四种不同路径: 图片.png

    如果G是有向图,则路径也是有向的。下图用红线列举顶点B到顶点D的两种路径,而顶点B就不存在路径啦。


    图片.png
    路径的长度是路径上的边或弧的数目。
    第一个顶点到最后一个顶点相同的路径称为回路或环(Cycle)。

    序列中顶点不重复出现的路径称为简单路径,除了第一个顶点和最后一个顶点之外,其余顶点不重复出现的回路,称为简单回路或者简单环。下图左则是简单环,右侧不是简单环:


    图片.png
    在无向图G中,如果从顶点V1到顶点V2有路径,则称V1和V2是连通的,如果对于图中任意两个顶点Vi和Vj都是连通的,则称G是连通图(ConnectedGraph)。下图左侧不是连通图,右侧是连通图:
    图片.png
    无向图中的极大连通子图称为连通分量。
  13. 在有向图G中,如果对于每一对Vi到Vj都存在路径,则称G是强连通图。有向图中的极大强连通子图称为有向图的强连通分量。下图左侧并不是强连通图,右侧是。并且右侧是左侧的极大强连通子图,也是左侧的强连通分量。


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


    图片.png
  15. 如果一个有向图恰有一个顶点入度为0,其余顶点入度都为1,则是一颗有向树。

图片.png

相关文章

  • 图的奇葩定义

    在线性表中,每个元素之间只有一个直接前驱和一个直接后继,在树形结构中,数据元素之间是层次关系,并且每一层上的数据元...

  • 《奇葩大会》那些让人喜爱的特别人类

    奇葩大会,从表面意思上来看是一群奇葩在一起开会。但是到底什么是奇葩呐,奇葩的定义到底是什么呐?曾经我以为的奇葩就是...

  • iOS中id - NSObject* - id<NSOb

    id: NSObject *: id iOS中很多类定义很奇葩,类名叫NSObject,定义个...

  • 图的定义

    定义 图的数据元素称为顶点 无向图 G = (V,{E}),V = {A, B, C, D...

  • 图的定义

    图由顶点和边组成。

  • 图的定义

    图的定义 线性表中数据元素叫结点;树中数据元素叫结点;图中数据元素叫顶点; 图中的定义 无向边:若顶点Vi到Vj之...

  • 图的定义

    1、定义及相关概念 图G由顶点集V和边集E组成,记为G=(V,E),其中V(G)表示图G中顶点的有限非空集合,E(...

  • #知识体系精深营#六月第4次作业 第三组 钟周

    小图。 从重构定义角度解析最新一期奇葩说的逻辑推论。 逻辑学越研究越有意思。 祝自己带点脑子看世界。迷之微笑~

  • 奇葩的同学

    生活中奇葩的人,很多很多,但是我总想用奇葩来定义是那个人的个性,而非其他,但是你总会被真正的奇葩所打败!

  • 7、逮到“一只”,数组定义界的“异类”

    逮到“一只”,数组定义界的“异类” 数组定义的奇葩格式: int x; int y; 可以定义为:int x, y...

网友评论

    本文标题:图的奇葩定义

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