| 邻接矩阵 | 邻接表 (vector实现) | 链式前向星 | 边集数组 | |
|---|---|---|---|---|
| 本质 | 二维数组 | 数组+动态数组/链表 | 数组模拟链表 | 结构体 |
| 空间复杂度 | O(V²) | O(V+E) | O(V+E) | O(E) |
| 查询两点是否相连 | O(1) 极快 | O(degree(V)) 较慢 | O(degree(V)) 较慢 | O(E)慢 |
| 遍历一个点的所有邻居 | O(V) 慢 | O(degree(V)) 快 | O(degree(V)) 快 | O(E)慢 |
| 增边操作 | O(1) | O(1) (均摊) | O(1) | O(1) |
| 实现难度 | 简单 | 中等 | 复杂 | 简单 |
| 适用场景 | 稠密图、频繁查询连接 | 稀疏图、频繁遍历邻居 | 稀疏图、极致性能要求 | 以"边"为核心操作的算法,如克鲁斯卡尔算法。 |
算法札记:图的存储方式
Keven_112026-07-12 10:16
相关推荐
数模竞赛Paid answer24 分钟前
2025年中青杯数学建模A题康养城市建设求解全过程论文及程序网安蟹佬霸26 分钟前
密码学安全实战:从加密原理到哈希破解的完整攻防指南yangmu320343 分钟前
深度解析:短视频是如何通过“算法+神经机制”劫持用户时间的?LuminousCPP1 小时前
栈和队列专题(四):LeetCode 232. 用栈实现队列|双栈分工 + 按需迁移 + 摊还 O(1)tudousisi2221 小时前
01背包8.21ZJU_统一阿萨姆1 小时前
【算子开发】Reduction算子完全指南鹿角片ljp10 小时前
LeetCode 46. 全排列|吃透回溯鼎艺创新科技10 小时前
不依赖 UE/Unity:我们如何从零搭建一套国产三维 GIS 渲染引擎.道阻且长.13 小时前
11.LeetCode算法习题讲解--滑动窗口--将x减到0的最小操作数wenyq713 小时前
LeetCode 2460. Apply Operations to an Array