Skip to content
难度基础(★)
建议时长45分钟

13.4.1 图知识点概述

图是数据结构中最自由也最复杂的一类。线性表是一对一,树是一对多,图是多对多;它没有固定根节点,也没有天然层次。课程把图的学习压缩成四类考点:定义与存储、遍历、拓扑排序、最小生成树与最短路径。

图模块学什么

内容学习目标考试状态
图的定义顶点、边、弧、路径、连通、完全图常考概念判断
图的存储邻接矩阵、邻接表常结合有向/无向、稀疏/稠密考
图的遍历深度优先、广度优先常判断遍历序列是否合法
拓扑排序有向无环图的线性化常考入度为 0 的删除过程
MST/最短路径Prim、Kruskal、Dijkstra、Floyd目前多考算法名称与策略

图和树的差别

比较项
关系层次关系,一对多多对多
根节点有根或可指定根一般没有天然根
回路树无回路图可以有回路
遍历先序、中序、后序、层序DFS、BFS
存储孩子/双亲/二叉链表邻接矩阵/邻接表

树可以看作图的一种特殊情况:连通且无回路。

做图题先问四件事

mermaid
flowchart TD
  A["拿到图题"] --> B["有向还是无向?"]
  B --> C["是否带权?"]
  C --> D["是否连通/是否有环?"]
  D --> E["顶点多边少还是边多?"]
  E --> F["选择存储、遍历或路径算法"]

本节例题

单选
关于图这种数据结构,下列说法正确的是:

自查清单

  1. 能否说明图为什么比树更一般?
  2. 能否区分图的遍历与二叉树遍历?
  3. 能否在做题前先判断方向、权值、连通性和稠密程度?