数据结构与算法(6) - 图

1. 定义

由定点和边构成。

2. 邻接矩阵表示

矩阵的元素表示的是两点间是否有边。
网络就是边上有权值的图。
无向图的邻接矩阵是对称矩阵,可以压缩存储。

缺点:

浪费空间:存储稀疏图时
浪费时间:统计图中总的边数时

3.邻接表表示

邻接表的“表”不是指表格,指的是链表。
即开一个指针数组,每个数组存储该点的邻居节点。
在这里插入图片描述
相比邻接矩阵,图足够稀疏的时候才比较合算。

优点:

方便找到某点的所有邻接点。
表示稀疏图的时候节约空间
方便计算无向图的“度”。

缺点:

只能计算有向图的出度,想计算入度的话,需要构造“逆邻接表”,来存储指向自己的边。
判断某两个点之间是否存在边,比较麻烦。

4. 图的遍历

DFS
BFS

5.其他概念

连通图是无向图中的概念:

连通:顶点v和w之间存在一条路径,就说v和w是连通的。
连通图:任意两个定点都是连通的。
连通分量:无向图中的极大连通子图(再加一个顶点就不连通了)。

强连通图是有向图中的概念:

强连通:顶点v和w之间存在双向的路径(注意是路径),则称v和w是强连通的(说白了就是v和w可以互相到达)。
强连通图:有向图中的任意两个定点都是强连通的。
强连通分量:有向图中的极大强连通子图。

猜你喜欢

转载自blog.csdn.net/u014117943/article/details/113546017