图论基础与算法详解
1. 图的基本概念
1.1 简单图的定义
图是一种非线性结构,简单图是一个二元组 ( G = (V, E) ),其中 ( V ) 是有限的顶点集,( E ) 是有限的边集,且 ( E ) 中的每个元素都是 ( V ) 的二元子集(即无序的不同元素对)。例如,一个简单图 ( G ),其顶点集 ( V = {a, b, c, d} ),边集 ( E = {ab, ac, ad, bd, cd} ),该图有 4 个顶点和 5 条边。
简单图的定义排除了环(loop)和多重边(multiple edges)的可能性。因为边是二元集,环只涉及一个顶点,不符合边的定义;而集合不允许重复元素,所以不存在多重边。
1.2 图的相关术语
- 子图 :如果 ( G = (V, E) ) 是一个图,( G_c = (V_c, E_c) ) 且 ( V_c \subseteq V ),( E_c \subseteq E ),则 ( G_c ) 是 ( G ) 的子图。若 ( V_c = V ),则 ( G_c ) 是 ( G ) 的生成子图(spanning subgraph)。
- 顶点的度 :一个顶点的度(degree)是指与之关联的边的数量。例如,在上述图中,顶点 ( a ) 的度为 3,顶点 ( b ) 的度为 2。
- 孤立点 :度为 0 的顶点称为孤立点。
- 完全图 :完全图是一种简单图,其中任意两个顶点