【数据结构】无向图与有向图的连通性及相关算法

I. 阅读前你所需的基础知识

  1. 了解图 (graph) 的基本知识 (什么是顶点, 什么是边, 什么是路径等等)
  2. 了解图的深度优先遍历 (DFT, Depth-first Traversal)
  3. 了解有向图 (directed graph)无向图 (undirected graph)

II. 连通性(Connectedness)

  • 无向图的连通性
    • 无向图内的顶点连通性: 若有一条路径包含顶点A和顶点B,那么顶点A与顶点B互相连通
    • 无向图的连通性:若图像内,任意取两个顶点都是互相连通的,那么则称此无向图是连通的
    • 连通的无向图示例:下图是一个具有连通性的无向图,刚接触的人乍一看或许会认为"A和D之间根本就没有连接",但这时就要注意顶点的连通性了,我们需要的不是A与D,而是存在一条路径,包含A与D,那么这条路径自然是存在的,即为A-B-C-D
      【数据结构】无向图与有向图的连通性及相关算法_第1张图片
  • 有向图的连通性
    • 有向图的连通性:与无向图不同的,有向图分为强连通 (strongly connected)弱连通 (weakly connected),下面会逐个解释

    • 有向图的强连通:对于图像内任意两个顶点A和顶点B,若存在一个A到B的路径并存在一个B到A的路径,那么称此有向图为强连通

    • 强连通有向图示例:如下图,对于任意两个顶点存在相通的路径, 则此图像为强连通的有向图
      【数据结构】无向图与有向图的连通性及相关算法_第2张图片

    • 有向图的弱连通:若此有

你可能感兴趣的:(数据结构,数据结构,算法)