图论-概要
〇、图的定义
图(graph)是图型结构的简称。它是一种复杂的非线性数据结构。图在各个领域都着广泛的应用。图的二元组定义为:
图 G 是一个有序二元组 (V, E),其中V称为顶集(Vertices Set),E称为边集(Edges set),E 与 V 不相交。它们亦可写成 V(G) 和 E(G)。其中,顶集的元素被称为顶点 (Vertex),边集的元素被称为边 (edge)。
E的元素都是二元组,用 (x, y) 表示,其中 x, y ∈ V。
一、图的基本概念
1. 无向图(Undirected Graph)与有向图(Undirected Graph)
两者区别在于连接顶点的边是否有方向性,例如:
两个村庄 A、B 及他们之间的道路组成的图为无向图,因为从 A 能到 B,从 B 也能到 A。
两个村庄 A、B,A 到 B 有一条单向的轨道,从而可以有火车从 A 到 B,但从 B 不能到 A(不可逆行)。这样的图成为有向图。其中 A 与 B 连通,B 与 A 不连通。
(DAG:有向无环图)
2. 度(degree)、入度(indegree)、出度(outdegree)
在无向图中,某一个顶点上所连有的边的条数成为该顶点的度。
在有向图中,某一个顶点的入边条数成为入度,某一个顶点的出边条数成为出度。
3. 子图(subgraph)
子图与图的关系类似子集与几何关系,指节点集和边集分别是某一图的节点集的子集和边集的子集的图。
单点也是子集,极大子集是与图相等的子图
4. 路径(path)、回路(circuit)、权值(weight)
如图,V1 与 V3 并不直接相连,但可以通过 V1-V2-V3 或 V1-V4-V3 两种方式与 V3 连接。其中的连接成为路径,即 V1 到 V3 的路径为 V1-V2-V3 或 V1-V4-V3。
回路:起点与终点是同一点的路径。
权值:即边的权重。比如从长春到沈阳的距离为 309.9km,那么这条边的权值即为 309.9。图分为有权图与无权图,无权图的边无权重,只有相连与否;有权图不仅要考虑是否相连,更要考虑权重的问题。
5. 连通(connected)、强连通(strongly connected)
连通对于无向图,强连通对于有向图。
若无向图中任意两点 u 和 v 之间有若干条边,则称此图连通。
若无向图中任意两点 u 和 v 中,从 u 到 v 有若干条边,且从 v 到 u 有若干条边,则称此图强连通。
连通图的连通分量(connected components)是自己,非连通图的连通分量是其所有的极大连通子图:
强连通分量(strongly connected components)类似,若有向图本身不是强连通图,但其包含的最大连通子图具有强连通图的性质,则称该子图为强连通分量。
6. 完全图(complete graph)、稠密图(dense graph)、稀疏图(sparse graph)
若一个图有 n 个顶点,则这个图最多有 n(n - 1)/2 条边。而这这样的图成为完全图。
稠密图与稀疏图则分别为边较多和边较少的图,其去分界线一般为稀疏图的边数边 |E| 远小于 |V|²,稠密图的边数 |E| 接近 |V|²。
也可表示为:稀疏图:E < nlogn;稠密图:E > nlogn
作者:Rotch
日期:2021-03-04
修改:2021-03-04