图结构的通用代码实现
raw/articles/2026/05/图结构的通用代码实现
⚠️ 注意:由于原文使用 JavaScript 动态渲染,本文档仅包含提取到的部分内容(开头约 22 行)。完整内容请访问原文:图结构的通用代码实现
核心观点
图是多叉树结构的延伸。两者的主要区别:
- 树结构:只允许父节点指向子节点,子节点之间不会互相链接
- 图结构:节点之间可以相互指向,形成复杂的网络结构
基本概念
图结构逻辑上由两部分构成:
- 节点(Vertex):图中的顶点
- 边(Edge):连接节点的线
常见存储方式
- 邻接表(Adjacency List)
- 邻接矩阵(Adjacency Matrix)
图 vs 多叉树
| 特性 | 多叉树 | 图 |
|---|---|---|
| 指向关系 | 父 → 子(单向) | 节点间可相互指向 |
| 循环 | 不允许 | 允许 |
| 复杂度 | 较低 | 较高 |
经典图论算法
本文提到以下算法将在后文介绍: