图的相关概念
- 什么是图:图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。
-
图的分类:
- 无向图: 图中任意两个顶点之间的边都是无向边(顶点之间的边没有方向)。
-
有向图: 图中任意两个顶点之间的边都是有向边。
注意:无向边用小括号“()”表示,而有向边则是用尖括号“<>”表示。
- 无向完全图: 在无向图中,如果任意两个顶点之间都存在边,则称该图为无向完全图。含有n个顶点的无向完全图有$n(n-1)/2$条边。
- 有向完全图: 在有向图中,如果任意两个顶点之间都存在方向互为相反的两条弧,则称该图为有向完全图。含有n个顶点的有向完全图有$n×(n-1)$条边。
- 网: 带权的图通常称为网.(图的边具有与它相关的数字叫做权,可以表示从一个顶点到另一个顶点的距离或耗费。)
- 连通图: 在无向图中,对于图中任意两个顶点都是连通的(顶点i到顶点j有路径).
- 强连通图: 在有向图中,对于图中任意两个顶点都是连通的。
连通分量: 无向图中的极大连通子图称为连通分量。连通分量的概念强调:
1.要是子图;
2.子图要是连通的;
3.连通子图含有极大顶点数;
4.具有极大顶点数的连通子图包含依附于这些顶点的所有边。 -
相关术语
- 邻接点:一条边上的两个顶点。
-
度: 顶点v的度(Degree)是和v相关联的边的数目。对于有向,$顶点的度=顶点的入度+顶点的出度$
注意:
1.无向图中所有顶点的度之和等于边数的2倍,有向图中所有顶点的入度之和等于所有顶点的出度之和。
2.无论无向图还是有向图,顶点数n,边数e和度之间又如下关系:$E=(d[v1]+d[v2]+…+d[vn])/2$ - 简单路径: 序列中顶点不重复出现的路径称为简单路径。
- 简单回路: 除了第一个顶点和最后一个顶点之外,其余顶点不重复出现的回路,称为简单回路或简单环。
代码实现
图的邻接矩阵
无向图:
- 某个顶点i的度,其实就是这个顶点i在邻接矩阵中第i行(或第i列)的元素之和。
- 顶点i的所有邻接点就是将矩阵中第i行元素扫描一遍,值为1的为邻接点。
有向图:
- 顶点i的入度为第i列各数之和,出度为第i行各数之和。
网:
邻接矩阵对于边数相对顶点较少的图,存在对存储空间的极大浪费的现象。所以这种存储方式不适合稀疏图。
图的邻接表
邻接表:数组与链表相结合的存储方式。
无向图:
有向图:
网图:
$参考:https://www.zybuluo.com/guoxs/note/249812$$
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。