图的分类大全

图的分类大全

一、按边的方向分

1. 无向图(Undirected Graph)

  • 边没有方向,(u, v)(v, u) 是同一条边

  • 例:社交网络中的"好友关系"

    A --- B --- C
    | |
    D --------------- E

2. 有向图(Directed Graph / Digraph)

  • 边有方向,u → vv → u 是不同的边

  • 例:网页链接、任务依赖

    A → B → C
    ↓ ↑
    D ------------------→

3. 混合图(Mixed Graph)

  • 同时包含有向边和无向边(较少见)

二、按边的权重分

1. 无权图(Unweighted Graph)

  • 边只表示连接关系,没有权重

2. 带权图(Weighted Graph)

  • 每条边有一个权值(距离、费用、时间等)

    A ---5--- B ---3--- C
    | |
    8 2
    | |
    D ------------4------------ E


三、按连通性分

1. 连通图(Connected Graph)【无向图】

  • 任意两个节点之间都存在路径

  • 整张图是"一整块"

    A --- B --- C
    |
    D
    ✅ 任意两点可达

2. 非连通图(Disconnected Graph)

  • 存在至少两个节点之间没有路径

  • 图由多个连通分量组成

    A --- B C --- D
    (两个独立部分)

3. 强连通图(Strongly Connected Graph)【有向图】

  • 任意两点 u、v,既能从 u 到达 v,也能从 v 到达 u

    A → B
    ↑ ↓
    C ← D
    ✅ 形成环,任意两点互达

4. 弱连通图(Weakly Connected Graph)【有向图】

  • 忽略边的方向后,变成连通图

  • 但有方向时,不能保证互达

    A → B → C
    (忽略方向后连通,但 C 无法到达 A)

5. 连通分量 / 强连通分量(SCC)

概念 适用 说明
连通分量 无向图 最大连通子图
强连通分量(SCC) 有向图 内部任意两点互达的最大子图

四、按结构特征分

1. 完全图(Complete Graph)

  • 任意两个节点之间都有边

  • n 个节点有 n(n-1)/2 条边(无向)

    复制代码
      A
     /|\
    B---+---C
     \|/
      D

    K₄:4个节点,6条边

2. 稀疏图 vs 稠密图

类型 边数 常用存储
稀疏图 远小于 V² 邻接表
稠密图 接近 V² 邻接矩阵

3. 二部图 / 二分图(Bipartite Graph)

  • 节点可分为两个集合,所有边只在两集合之间

  • 例:用户与商品的购买关系

    用户集合 商品集合
    U1 ------------ P1
    U1 ------------ P2
    U2 ------------ P2
    U3 ------------ P3

4. 树(Tree)

  • 连通 + 无环的无向图
  • n 个节点,恰好 n-1 条边

5. 森林(Forest)

  • 多棵树的集合(无环无向图)

6. 有向无环图(DAG)

  • 有向 + 无环

  • 拓扑排序的基础,用于任务调度、依赖管理

    A → B → D
    ↓ ↑
    C ---------------------

7. 平面图(Planar Graph)

  • 可以画在平面上且边不交叉的图
  • 例:地图的行政区域划分

五、按特殊用途分

1. 欧拉图(Eulerian Graph)

  • 存在欧拉回路(经过每条边恰好一次并回到起点)
  • 条件:所有节点的度数为偶数

2. 哈密顿图(Hamiltonian Graph)

  • 存在哈密顿回路(经过每个节点恰好一次并回到起点)
  • 例:旅行商问题(TSP)

3. 网络流图(Flow Network)

  • 有向带权图,边有容量限制
  • 用于最大流、最小割问题

六、总览思维导图

复制代码
图
├── 按方向
│   ├── 无向图
│   ├── 有向图
│   └── 混合图
├── 按权重
│   ├── 无权图
│   └── 带权图
├── 按连通性
│   ├── 连通图(无向)
│   ├── 非连通图
│   ├── 强连通图(有向)
│   └── 弱连通图(有向)
├── 按结构
│   ├── 完全图
│   ├── 二分图
│   ├── 树 / 森林
│   ├── DAG(有向无环图)
│   └── 平面图
└── 按特殊性质
    ├── 欧拉图
    ├── 哈密顿图
    └── 网络流图

常见图算法对应关系

问题 适用图类型 算法
最短路径 带权有向/无向图 Dijkstra、Bellman-Ford、Floyd
最小生成树 带权无向连通图 Kruskal、Prim
拓扑排序 DAG Kahn、DFS
连通性检测 无向图 BFS/DFS、并查集
强连通分量 有向图 Tarjan、Kosaraju
最大流 网络流图 Ford-Fulkerson、Dinic
二分图匹配 二分图 匈牙利算法
相关推荐
Autumn_ing2 天前
2026实测:这5款AI生成UI工具支持Shadcn UI/Ant Design组件库
人工智能·ui·设计模式·aigc·设计规范
秦明月136 天前
KUKA机器人Profinet通讯实战指南
经验分享·学习·职场和发展·学习方法·设计规范
放学后的泡泡9 天前
提供一个工作流的表设计
java·设计规范
冬奇Lab12 天前
一天一个开源项目(第66篇):awesome-design.md - 让 AI 助你打造像素级 UI 的设计规范
人工智能·ui·设计规范
湘-枫叶情缘14 天前
AI 编程时代 DDD 的理论重估:一种面向复杂业务与生成式智能的建模语言
人工智能·设计规范
CappuccinoRose15 天前
数据设计 - 软考备战(五十)
软考·设计规范·er图·数据设计·规范化理论
鸽芷咕18 天前
KingbaseES数据库设计规范与SQL开发最佳实践
数据库·sql·设计规范
薛定猫AI19 天前
【深度解析】Claude Code Skills 工作流:用知识图谱、设计规范与 Agent 工具链提升 AI 编程效率
人工智能·知识图谱·设计规范
cui178756822 天前
排队免单模式:从爆火到优化,探寻实体商业新出路
大数据·人工智能·设计模式·个人开发·设计规范
电子科技圈25 天前
IAR作为Qt Group独立BU携两项重磅汽车电子应用开发方案首秀北京车展
开发语言·人工智能·汽车·软件工程·软件构建·代码规范·设计规范