严蔚敏——数据结构——图(C语言版)

学习目标:什么是图?

图中有顶点和边(V,E),所以图包括两个集合:顶点集合和边集合。
顶点集合至少一个顶点,并且顶点不能无穷多。
边集合可以为空,也是有穷集合。

图的基本术语:

图的例子:
严蔚敏——数据结构——图(C语言版)

上面可以看作一个图(三个顶点a,b,c),有三个子图。我们可以再加入两个个顶点(e,f)和两条边连接a和f,c和b.
严蔚敏——数据结构——图(C语言版)

子图。上面添加完的图为例,子图有三个。
严蔚敏——数据结构——图(C语言版)
严蔚敏——数据结构——图(C语言版)
严蔚敏——数据结构——图(C语言版)

无/有向完全图。

无向完全图。n个顶点有(n-1)*n/2条边
严蔚敏——数据结构——图(C语言版)

有向完全图(图中的弧带有方向,所以在无向完全图的基础上×2)
n(n-1)条弧
严蔚敏——数据结构——图(C语言版)

稠密图和稀疏图 。边或弧(e<n log 2n)边或弧的数目小于顶点数目乘log以2为底n的对数
权和网。边或弧上标有具体某种意义的值称为权。图中有了权值便成了网

度(入度。出度)
度:某个顶点所连接边的数目。例如:上图有向完全图中顶点a的度为6.因为a连接的边的数目为6.
出度:以顶点为弧尾的弧的数目。a的出度为3
出度:以顶点为弧头的弧的数目。a的入读为3

邻接点:指的就是两个顶点被一条边或弧所连接。例如:上图有向完全图
弧<a,b>,a和b相邻接

路径和路径长度:路径是一个顶点序列。
路径长度是指在一条路径上经过弧或边的数目。

回路或环:第一个顶点到最后一个顶点相同的路径。

严蔚敏——数据结构——图(C语言版)

简单路径,简单回路或简单环。
简单路径:序列定点中不出现重复的路径。(a,b,c)就是一个简单路径。
简单回路或简单环:除起点和重点其他顶点不重复出现的回路。
(b,d,c)就是一个简单环。

严蔚敏——数据结构——图(C语言版)

连通,连通图,连通分量
连通:图中任意两个点都能到达
连通图:图中任意两个点都能到达
连通分量:无向图中极大连通子图。
上图的连通分量是2.

严蔚敏——数据结构——图(C语言版)

强连通图和强连通分量
上图的强连通分量是2
下图就是强连通图

严蔚敏——数据结构——图(C语言版)

连通图的生成树:生成树必须是极小连通图。

有向树和生成森林。
有向树:一个顶点的入度为0,其余顶点的入读均为1的有向图称为有向树。
生成森林:由多个有向树构成。如下有向图生成森林。
严蔚敏——数据结构——图(C语言版)