数据结构之图的定义和术语(未竟)

1、图的定义

图(Graph)是由两个集合构成,一个是非空但有限的顶点集合 \(V\),另一个是描述顶点之间关系——边的集合 \(E\)(可以是 $ arnothing$)。因此,图可以表示为 \(G = (V, E)\)。每条边是一顶点对 \((v, w)\)\(v, w \in V\)

通常用 \(|V|\) 表示顶点的数量,用 \(|E|\) 表示边的数量。

2、图的术语

(1)、无向图(Underected Graphs):无向图中顶点之间的边(Edge)没有方向,即边 \((v, w)\) 等同于 \((w, v)\)。用圆括号“()”表示无向边。边的起点 \(w\) 和终点 \(v\) 次序并不重要。

图一  无向图

(2)、有向图(Directed Graphs):有向图中顶点之间的所有边都有方向,即 \(<v, w>\) 不同于 \(<w, v>\)。用尖括号“<>”表示有向边。有向边也称弧(Are)。弧的“起点(弧头)”和“终点(弧尾)”的次序不能随意颠倒。在不会混淆的场合,有向边和无向边都简称为“边”。

图二  有向图

(3)、简单图(Simple Graph):如果图中出现重边(即边的集合 \(E\) 中有相同的重复元素)或者自回路边(即边的起点和终点是同一个顶点),就叫做非简单图。

图三  两种非简单图

(4)、邻接点(Adjacent Vertices):如果 \((v, w)\) 是无向图中任意一条边,那么称 \(v\)\(w\) 互为邻接点;如果 \(<v, w>\) 是有向图中任意一条边,那么称起点 \(v\) “邻接到”(Adjacent to)终点 \(w\),也称终点 \(w\) “邻接自”(Adjacent from)起点 \(v\)。比如,考察图二这个有向图 \(G_2\),顶点 2 邻接到顶点 1,或者说顶点 1 邻接自顶点 2。

(5)、路径(Path)、简单路径(Simple Path)、回路(Cycle,也叫做“环”)、无环图(Acyclic Graph):图中的一条路径是一顶点序列 \(v_1, v_2, ..., v_N\),序列中任何相邻的两顶点都能在图中找到对应的边,即 \((v_i, v_{i + 1}) \in E (1 \leqslant i < N)\)。一条路径的长度是这条路径所包含的边数。

一条简单路径是指除了路径的首尾顶点外,其余顶点都是不同的。

有向图中的一条回路是指 \(v_1 = v_N\) 的一条路径。路径长度为 1 的回路是一个自回路(属于非简单图)。简单路径形成的回路称为简单回路(Simple Cycle)。

如果在一个有向图中不存在回路,那么这个有向图称为无环图。

对于无向图,由于顶点是无序的,环路的长度要大于等于 3。

按:本文所有术语和定义皆摘自浙江大学《数据结构 第二版》(陈越、何钦铭),且省略了部分我认为不重要的内容。

(12)、连通图(Connected Graph)、连通分量(Connected Component):在无向图中,如果从一个顶点 \(v_i\) 到另一个顶点 \(v_j(i \leq j)\) 有路径,则称顶点 \(v_i\)\(v_j\) 是连通的(Connected)。如果图中任意两顶点都是连通的,则称该图是连通图。无向图的极大连通子图称为连通分量。连通分 量的概念包含以下 4 个要点:

  • 子图:连通分量应该是原图的子图;
  • 连通:连通分量本身应该是连通的;
  • 极大顶点数:连通子图含有极大顶点数,即再加入其他顶点将会导致子图不连通;
  • 极大边数:具有极大顶点数的连通子图包含依附于这些顶点的所有边。

因此,连通的无向图只有一个连通分量,这个连通分量就是本图。不连通的无向图有多于一个的连通分量。

(13)、强连通图(Strongly Connected Graph)、强连通分量(Strongly Connected Component);对于有向图来说,若图中任意一对顶点 \(v_i\)\(v_j(i \leq j)\) 均既有从 \(v_i\)\(v_j\) 的路径,也有从 \(v_j\)\(v_i\) 的路径,则称该有向图是强连通图。有向图的极大强连通子图称为强连通分量。

强连通分量的概念与连通分量类似,也包含 4 个要点。强连通图本身就是一个强连通分量。不是强连通的有向图有多于一个的强连通分量。


数据结构之图的定义和术语(未竟)
http://fanyfull.github.io/2021/05/28/数据结构之图的定义和术语/
作者
Fany Full
发布于
2021年5月28日
许可协议