数据结构第九讲:图的基本概念
§7 图
§7.1 图的基本概念
§7.1.1 图的定义
图都是由顶点和边构成的,形式化定义为 $G=(V,E)$。
§7.1.2 图的基本术语
多数概念都很好理解,这里只写几个容易错的:
对于无向图,每个顶点的度定义为以该顶点为一个端点的边数。对于有向图,度分为入度和出度,入度是以该顶点为终点的入边数目;出度是以该顶点为起点的出边数目,该顶点的度等于其入度和出度之和。握手定理:$e=\cfrac{1}{2}\sum d_{u}$。
边数 $e\ll n\log_{2}n$ 的图是稀疏图,否则是稠密图。
路径长度 是指一条路径上经过的 边 的数目。
带权图也称网。本书中规定所有边的权均为非负数。
§7.2 图的存储结构
§7.2.1 邻接矩阵
如果不带权,则 $A{ij}=1$ 表示有边,$A{ij}=0$ 表示没有边;
如果带权,$A{ij}=0$ 表示 $i=j$,$A{ij}=\infty$ 表示没有边,否则是这条边的边权。
这适合稠密图,空间 $\mathrm{O}(n)$,判断边是否存在 $\mathrm{O}(1)$。
§7.2.2 邻接表
链式存储结构,具体是对图中每个顶点建立一个带头节点的单链表,把该顶点的所有相邻点串起来,总共建立 $n$ 个。每个单链表中每个节点包括:
- 顶点域 adjvex 用以指示该点在头节点数组中的下标;
- 权值域 weight 存放对应边的权值;
- 指针域 nextarc 用以指向依附于这个顶点的下一条边所对应的节点。
这适合稀疏图,建立的复杂度是 $\mathrm{O}(n+e)$。
本站所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 小明の雜貨鋪!
評論