算法总结(二)图

来源:互联网 发布:基坑监测数据处理软件 编辑:程序博客网 时间:2024/06/11 22:06

图是算法中应用非常广泛的数据结构

    • 图的定义
      • 图有两个集合
      • 图与树的不同点
      • 无向图
      • 有向图
      • 图的性质
      • 图的度
    • 连通图
      • 连通图性质

图的定义

图有两个集合

  • 非空集合V(G) 代表图所有的节集
  • 可能为空的集合E(G) 代表图的边集
  • 节点的数量记为 |V|, 边的数量记为|E|

图与树的不同点

  • 不需要root节点
  • 没有父子关系
  • 可能有多条边连接两个节点

无向图

如果u,v是两个节点
那么 (u,v) 表示一条无向边

这里写图片描述

有向图

如果u,v是两个节点
那么<u,v>表示一条有向边 节点u是起点 v是终点

这里写图片描述

图的性质

  • 1.无向图的边是无序的 (v0, v1) = (v1,v0)
  • 2.有向图的边是有序的<v0,v1>!=<v1,v0>
  • 3.完全图所拥有的的边的数量:
    • 无向图 n(n-1)/2
    • 有向图 n(n-1)
  • 4.如果图的边数 e<nlog(n) 该图为稀疏图,否则为稠密图
  • 5.边权

图的度

图中的度:所谓顶点的度(degree),就是指和该顶点相关联的边数。
在有向图中,度又分为入度和出度。
入度 (in-degree) :以某顶点为弧头,终止于该顶点的弧的数目称为该顶点的入度。
在某顶点的入度和出度的和称为该顶点的度
(a)中Vo的入度为1,出度为2,度为3。
(b)中V2的度为3。

这里写图片描述

连通图

在图论中,连通图基于连通的概念。在一个无向图 G 中,若从顶点vi到顶点vj有路径相连(当然从vj到vi也一定有路径),则称vi和vj是连通的。如果 G 是有向图,那么连接vi和vj的路径中所有的边都必须同向。如果图中任意两点都是连通的,那么图被称作连通图。如果此图是有向图,则称为强连通图(注意:需要双向都有路径)。图的连通性是图的基本性质。

  • 连通分量:无向图 G的一个极大连通子图称为 G的一个连通分量(或连通分支)。连通图只有一个连通分量,即其自身;非连通的无向图有多个连通分量。
  • 强连通图:有向图 G=(V,E) 中,若对于V中任意两个不同的顶点 x和 y,都存在从x到 y以及从 y到 x的路径,则称 G是强连通图。相应地有强连通分量的概念。强连通图只有一个强连通分量,即是其自身;非强连通的有向图有多个强连分量。
  • 单向连通图:设G=<V,E>是有向图,如果u->v意味着图G至多包含一条从u到v的简单路径,则图G为单连通图。
  • 弱连通图:将有向图的所有的有向边替换为无向边,所得到的图称为原图的基图。如果一个有向图的基图是连通图,则有向图是弱连通图。

连通图性质

一个无向图 G=(V,E) 是连通的,那么边的数目大于等于顶点的数目减一:|E|>=|V|-1,而反之不成立。
如果 G=(V,E) 是有向图,那么它是强连通图的必要条件是边的数目大于等于顶点的数目:|E|>=|V|,而反之不成立。
没有回路的无向图是连通的当且仅当它是树,即等价于:|E|=|V|-1。

0 0
原创粉丝点击