图论
1.图论的定义
图论 (Graph theory) 是数学的一个分支,图是图论的主要研究对象。图 (Graph) 是由若干给定的顶点及连接两顶点的边所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系。顶点用于代表事物,连接两顶点的边则用于表示两个事物间具有这种关系。
2.相关概念
如下图所示:

3.如何存储?
首先你可能会想到引入平面直角坐标系
但是图中的节点是离散的点
所以只能利用节点与节点间的关系
1.邻接矩阵

上图就是一个
其中能表示1 2之间有边
2 3之间有边等
但是这里边只能表示有没有边的关系
即只能表示无向图
2.邻接表

上图就是一个
是利用链表的方式来存储的图
3.链式前向星
当我们使用邻接表来存储的时候,会考虑到不方便存储边权
所以我们使用链式前向星的形式
比如下面的链式前向星

就可以化成下面的形式

4.如何遍历?
深度优先遍历:
遍历方式:

实现方案:

广度优先遍历:
遍历方式:

实现方案:

5.生成树
对连通图进行遍历,过程中经过的点和边可以形成一个普通树
1.最小生成树
生成树中边权和最小的那棵树
2.如何寻找最小生成树?
1.Prim算法

基本思想:不断加点
比如上图,随机选一点a,在a周围,有beg三点,选边权最小的ae遍历
6.单源最短路径
就是给定起点,然后寻找各个点到七点的最短路径
1.寻找方法
1.dijstra算法
和Prim算法相似,把他分已知和未知,慢慢更新

浙公网安备 33010602011771号