数据结构THU2018 - 图

1. 图的表示

1.1 邻接矩阵

在这里插入图片描述
两个节点之间要是有边,就在矩阵中标记为边权重;如果没有边,就标记为0.
在这里插入图片描述

1.2 关联矩阵

在这里插入图片描述
每个节点对应一个边集:
在这里插入图片描述

1.3 邻接表

为了节省空间,每个节点只需保存一个与其相连的节点列表:
在这里插入图片描述

空间复杂度:

  • 有向图:O(n+e)
  • 无向图: O(n+2e), 因为边被保存了两次

2. 广度优先搜索

在这里插入图片描述

3. 深度优先搜索

深度优先搜索算法是一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。属于盲目搜索。
在这里插入图片描述
在这里插入图片描述

4. 拓扑排序

4.1 问题

在这里插入图片描述

4.2 策略:顺序输出零入度节点

在这里插入图片描述
在这里插入图片描述

5. 最小生成树

5.1 定义

在这里插入图片描述

5.2 Prim算法

在这里插入图片描述
例子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6. 最短路径

6.1 问题描述

在这里插入图片描述
每次都选取工作集中最小的那个点,之后把和这个点相连的所有点的值都更新一遍。

6.2 实例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41332009/article/details/114894849