← 返回目录

Chapter 11: 无向图

由一组节点和连接节点的无向边组成的结构

🔗 NetworkX•📊 图论基础•🎯 交互式学习

关于无向图

图论是数学的一个分支,研究的是图的性质和结构以及与图相关的问题。图由节点和边组成,节点表示对象,边表示对象之间的关系。

无向图是图论中最基础的概念之一。在无向图中,边没有方向,连接两个节点的边 (a,b) 与 (b,a) 是等价的。 本章将系统介绍无向图的核心概念,包括节点、边、度、邻居、自环、同构、多图、子图和有权图。

✦
11.1

无向图:边没有方向

节点集、边集、阶、大小、度、邻居

一个无向图由两个重要集合组成:节点集 V(G) 和 边集 E(G)。图常常被写成 G = (V, E) 的形式。 在无向图中,节点 a 到节点 b 的边 ab,和节点 b 到节点 a 的边 ba,没有区别。

📊 基本概念

• 阶(Order):图的节点数量,用 n 表示
• 大小(Size):图的边数量,用 m 表示
• 平凡图:只有一个节点的图
• 空图:没有边的图

🔗 度与邻居

• 度(Degree):与节点相连的边的数量
• 邻居:通过一条边直接相连的节点
• 端点:度数为 1 的节点
• 孤立点:度数为 0 的节点

📐 重要定理

∑deg(v) = 2m
所有节点的度之和等于边数的两倍
这是因为每条边都会贡献两个度数(分别给它的两个端点)
✦
11.2

自环:节点到自身的边

自环对度数和邻居的影响

在图论中,一个节点到自身的边被称为自环(self-loop),也叫自环边或圈。 自环的特殊之处在于:它使节点的度数增加 2(而不是 1), 并且使节点成为自己的邻居。

🔍 关键洞察

• 自环的每个端点都是节点本身,所以贡献度数 2
• 有自环时,节点的最大度数为 n(考虑到自身)
• 无自环时,节点的最大度数为 n - 1
• 从图上看,节点会伸出额外的"触须"
✦
11.3

同构:具有等价关系的图

外观不同但本质相同的图

很多图外观看着大有不同,节点名称、边名称都不同,但是图的本质完全一致。 这种图叫做同构图(isomorphic graphs)。判断两个图是否同构,需要找到节点之间的一一对应关系, 使得边的连接关系保持不变。

🔄 同构的判断

• 节点数相同:|V(G)| = |V(H)|
• 边数相同:|E(G)| = |E(H)|
• 度序列相同:节点度数排序后一致
• 存在双射:保持邻接关系的一一对应
注意:以上是必要条件,但不是充分条件

🎨 二分图

• 定义:节点可分为两个不相交的集合
• 边的限制:所有边都连接两个集合间的节点
• 组内无边:每个集合内部没有边
• 完全二分图:两组间所有可能的边都存在
记作 Km,n,其中 m 和 n 是两组的节点数
✦
11.4

多图:同一对节点存在不止一条边

允许平行边的图

在简单图中,任意两个节点之间只能有一条边,且不含自环。 而多图(multigraph)允许在同一对节点之间存在多条边,这些边被称为平行边或重边。 七桥问题就是多图的经典例子。

🌉 七桥问题

• 背景:哥尼斯堡(Königsberg)的七座桥问题
• 问题:能否一次性走过所有七座桥,每座桥只走一次?
• 建模:4 个陆地区域 = 4 个节点,7 座桥 = 7 条边
• 平行边:某些区域间有多座桥
• 欧拉解答:提出了欧拉路径和欧拉回路的概念
✦
11.5

子图:图的一部分

基于节点或边的子集构建

一个图的子图(subgraph)是指原始图的一部分,它由图中的节点和边的子集组成。 子图可以通过两种方式生成:选择节点子集(保留这些节点间的所有边), 或选择边子集(包含这些边的端点)。

✂️ 两种构建方式

基于节点子集:
选择部分节点 V' ⊆ V
保留这些节点之间的所有边
基于边子集:
选择部分边 E' ⊆ E
包含这些边的所有端点

🎯 应用场景

• 社交网络:提取特定兴趣群体
• 交通网络:分析特定区域
• 生物网络:研究局部相互作用
• 算法设计:分治策略、图分解
• 数据分析:关注关键节点/边
✦
11.6

有权图:边自带权重

用权重表示距离、成本、时间等

有权无向图(weighted undirected graph)是在无向图基础上,为每条边附加一个权重或值。 这个权重表示了连接两个节点之间的某种度量,例如距离、成本、时间、关系强度等。 有权图在导航系统、物流优化、社交网络分析等领域有广泛应用。

🛣️ 最短路径

• Dijkstra:单源最短路径
• Floyd-Warshall:所有节点对
• Bellman-Ford:允许负权重
• A*:启发式搜索

🌳 最小生成树

• Kruskal:边按权重排序
• Prim:从任意节点开始
• 应用:网络设计、聚类
• 目标:最小总权重连通

💧 网络流

• 最大流:Ford-Fulkerson
• 最小割:Max-Flow Min-Cut
• 应用:交通、通信、物流
• 权重含义:容量或成本
✦

本章小结

本章系统介绍了无向图的核心概念。通过交互式组件,我们深入探索了图的基本性质、 特殊结构和实际应用。

🎯 核心概念

• 阶、大小、度、邻居 - 图的基本属性
• 端点、孤立点 - 特殊节点类型
• 自环 - 节点到自身的边
• 同构 - 本质相同的图
• 多图 - 允许平行边
• 子图 - 图的局部结构
• 有权图 - 边带权重的图

🚀 下一步

• 有向图:边有方向的图
• 图的遍历:DFS、BFS算法
• 连通性:连通分量、强连通
• 图的着色:顶点着色、边着色
• 匹配问题:最大匹配、完美匹配
• 平面图:可以画在平面上的图
💡
学习建议
• 动手操作每个交互组件,观察参数变化的影响
• 尝试用 NetworkX 实现本章介绍的所有概念
• 思考实际问题如何用图论建模
• 对比有向图和无向图的异同(下一章内容)