• 图的基础和遍历


    1.图的定义

    图中的数据元素称为点(Vertex),连接这些顶点的线称为边(Edge)或者弧(Arc),前者是在无向图(Undigraph)中的名称,而后者是有向图(Digraph)中的术语,指向的点称为弧尾,而发出的点称为弧头

    完全图(Completed graph)是指所有点之间都有连边的无向图,即如果有n个点,将会有n(n-1)/2条边。

                    

    上图左边即为一个有向图,右图是一个无向图。我们可以分别表示为:

    G1=(V1,{E1})       V1={v1,v2,v3,v4}     E1={<v1,v2>,<v1,v3>,<v3,v4>,<v4,v1>}

    G2=(V2,{E2})       V2={v1,v2,v3,v4,v5}        E2={(v1,v2),(v1,v4),(v2,v3),(v3,v4),(v4,v5)}

    如果图的边或者弧有权重的情况下,我们叫这个图为网(Network)

    2.邻接点和度

    假如两个图G1=(V1,{E1}),G2=(V2,{E2}),如果V1是V2的子集,E1也是E2的子集,那么可以称G1是G2的子图(Subgraph)。

    对于无向图,一条边上的两个点称为邻接点(Adjacent),或两个点相邻接。而该边依附于这两个节点,或者说该边与这两个点相关联。顶点的度(Degree)指的是该顶点相关联的边的数目。

    而对于有向图,一个弧从A点连接到B,称A邻接到B,或者B邻接自A。入度(Outdegree)指以该节点为弧尾的弧数目,同样出度(Indegree)指以该节点为弧头的弧数目。

    3.路径和连通

    从点A到B的路径(Path)是指一个从A到B的顶点序列,其中每两个连接的顶点都有边或者弧。路径的长度是路径上点的个数。

    如果第一个顶点和最后一个顶点相同,则称该路径为回路或者环(Cycle)。如果路径中点不重复则成为简单路径

    无向图中,如果任意两个节点都能连通,则称该图为连通图(Connected Graph)。非连通图中个连通子图称为连通分量(Connected Component)。有向图中上面两个名词为强连通图强连通分量

    4.最小生成树

    最小生成树是指包含无向连通图中所有的节点,但是仅需要n-1条边将它们相连。在译可生成树上添加任意一条边,必定会构成一个环。如下图所示右图是左图的最小生成树。

                   

  • 相关阅读:
    大学该怎么度过
    MHA启动及关闭
    Qt多线程编程总结(二)——QMutex
    Qt多线程编程总结(一)(所有GUI对象都是线程不安全的)
    Qt中QFtp获取带有中文的文件名称出现乱码的解决方法(执行操作前就转换编码)
    QT实现拖放文件(有例子,并且图文并茂,非常清楚)
    QT5程序发布dll依赖
    通过Thrift访问HDFS分布式文件系统的性能瓶颈分析
    ExtJS面向对象
    Linq4j简明介绍
  • 原文地址:https://www.cnblogs.com/lbrs/p/11830182.html
Copyright © 2020-2023  润新知