有向图 vs 无向图

核心区别

维度 有向图 无向图
边方向 有方向(有序对 (u,v)) 无方向(无序对 {u,v})
度区分 区分入度/出度 不区分(度=入度+出度)
连通概念 强连通图/弱连通图 连通图
最短路径 需考虑方向(Dijkstra适用) 无方向限制(BFS即最短路径)
常见应用 流程调度、依赖关系、状态机 社交网络、道路网络(无单行道)

详细对比

边与度

  • 有向图:边 (u→v) 与 (v→u) 是不同边;节点度 = 入度 + 出度
  • 无向图:边 {u,v} 与 {v,u} 是同一条边;节点度 = 连接的边数

连通性

概念 有向图 无向图
基础连通 强连通图(互为可达) 连通图(任意两节点有路径)
分量 强连通分量 连通分量
忽略方向的连通 弱连通图 本身即连通图

算法适配

算法 有向图 无向图
BFS/DFS遍历 ✅ 支持 ✅ 支持
最短路径(Dijkstra) ✅ 支持 ✅ 支持(BFS更简单)
拓扑排序 ✅ 仅适用(依赖入度) ❌ 不适用
欧拉回路 需满足入度=出度 需满足0或2个奇数度节点

应用场景对比

场景 有向图 无向图
社交网络(关注关系) ✅(A关注B≠B关注A) ✅(好友关系)
道路网络 ✅(单行道) ✅(双行道)
任务依赖(A→B需先完成A)
分子结构(化学键无方向)

相关概念


Interactive Graph