一、图的基本概念
1.1 图的定义
由顶点集V和边集E组成,记为 G = (V , E)
若V={v1,v2,v3…},则用 | V | 表示图G中顶点的个数,也称图G的阶
E = { ( u , v ) | u ∈ \in ∈V,v ∈ \in ∈V} ,用 | E | 表示图G中的边的条数
注意: V一定是非空集 ( 线性表可以是空表、树可以是空树、图不可以为空 )
- 无向图
若E是无向边的有限集合时,图G为五向边,边是顶点的无序对,记为 (v,w)或(w,v)
(v,w)=(w,v)
- 有向图
若E是有向边(也称弧)的有限集合时,图G为有向图,边是顶点的有序对,记为 <v,w>,v称为弧尾,w称为弧头
<v,w> 表示从顶点v到顶点w的弧
<v,w> != <w,v>
- 简单图 和 多重图
1.2 顶点的度、入度、出度
- 无向图
顶点v的度是指依附于该顶点的边的条数,记为 TD(v)
无向图的全部顶点的度的和等于边数的2倍:总度数 = 2e
- 有向图
入度:以顶点v为终点的有向边的数目
出度:以顶点v为起点的有向边的数目
顶点v的度等于入度 和 出度之和
在具有n个顶点、e条边的有向图中,总入度数 = 总出度数 = e
1.3 顶点 - 顶点的关系描述
-
路径:顶点Vp到顶点Vq之间的一条路径是指顶点序列:Vp,V1,V2…Vq
-
回路:第一个顶点和最后一个顶点相同的路径称为回路或环
-
简单路径:在路径序列中,顶点不重复出现的路径称为简单路径
-
简单回路:除第一个顶点和最后一个顶点外,其余顶点不重复出现的回路
-
路径长度:路径上边的数目、
-
点到点的距离:从顶点u出发到顶点v的最短路径若存在,则此路径长度称为u到v的距离,若不存在,则记为 ∞ \infty ∞
-
无向图中,从顶点v到顶点w有路径存在,则称为v和w是连通的
-
有向图中,从顶点v到顶点w和从顶点w到顶点v之间都有路径,则称这两个顶点是强连通的
-
无向图中,若任意两个顶点都是连通的,则称为连通图 否则非连通图
考点: 对于n个顶点的无向图G,若G是连通图 则最少有n-1条边 若G是非连通图 最多可能有 C2n-1 条边 -
有向图中,若任意一对顶点都是强连通的,则称为强连通图
考点:对于n个顶点的有向图G,若G是强连通图 则最少有n条边
1.4 子图 、连通分量
1. 子图:
2. 连通分量
-
强连通分量
-
生成树
-
生成森林
-
边的权、带权图/网
1.5 特殊形态的图
- 无向完全图
无向完全图共有C2n条边
- 有向完全图
无向完全图共有2C2n条边
- 稀疏图 和 稠密图
- 树、有向树
1.6 总结
二、图的存储
2.1 邻接矩阵法
数组实现的顺序存储,空间复杂度高 不适合存储稀疏图
0表示两个点之间不连通
1表示两个点之间连通