普通图 vs 树

概述

普通图(General Graph)是图的一般形式,可能包含环和多重连通路径。树(Tree)是一种特殊的图——连通且无环的图,具有 的精确边数关系。树是图论中最重要的结构之一,既是极小连通图(删除任意边就不连通),又是极大无环图(添加任意边就产生环)。

定义

普通图

由顶点集 和边集 组成,对边的数量和结构没有特殊限制。普通图可能包含环(cycle)、重边、割点等复杂结构,边数范围从 (简单图)。连通图是普通图的子类。

树是连通且无环的无向图。以下四个命题等价( 个顶点的简单图):(1) 连通且无环;(2) 连通且有 条边;(3) 无环且有 条边;(4) 任意两点间存在唯一路径。Cayley 公式: 个标记顶点有 棵不同的树。

对比维度

维度普通图
可能包含环无环
连通性可能不连通必须连通
边数恰好
路径唯一性两点间可能有多条路径任意两点间恰好一条路径
极值性质极小连通图 + 极大无环图
生成结构连通图有生成树
遍历BFS/DFS前序/中序/后序遍历
Cayley 公式不适用 个标记顶点有 棵不同的树
删除边的影响可能不影响连通性删除任意边使图不连通
添加边的影响可能不产生环添加任意边产生唯一环

关键区别

  • 树是无环的连通图,普通图可以含环——这是最本质的区别
  • 树的边数被精确确定为 ,普通图的边数在一个很大的范围内变化
  • 树中任意两点间只有唯一路径,普通图中两点间可能存在多条路径
  • 删除树的任意一条边会使图不连通,删除普通图的边不一定影响连通性
  • 每个连通图都包含生成树(包含所有顶点的树子图),生成树有 条边
  • 树是最小连通的图结构,任何更少的边都会使图不连通

联系

  • 树是普通图的特例,所有树的性质都是图的性质的推论
  • 每个连通图都有生成树,生成树是原图的极小连通子图
  • 最小生成树(MST)算法(Prim/Kruskal)在加权连通图上寻找总权重最小的生成树
  • BFS 和 DFS 遍历连通图时,遍历过程中经过的边构成一棵生成树(BFS 树 / DFS 树)
  • 树在算法中有广泛应用:二叉搜索树、堆、决策树、语法树等

参见

  • 树图 — 树的完整概念卡片
  • 连通图 — 连通性是树的定义基础