图论

1.图论的定义

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

2.相关概念

如下图所示:
image

3.如何存储?

首先你可能会想到引入平面直角坐标系
但是图中的节点是离散的点
所以只能利用节点与节点间的关系

1.邻接矩阵

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

2.邻接表

image
上图就是一个
是利用链表的方式来存储的图

3.链式前向星

当我们使用邻接表来存储的时候,会考虑到不方便存储边权
所以我们使用链式前向星的形式
比如下面的链式前向星
image
就可以化成下面的形式
image

4.如何遍历?

深度优先遍历:

遍历方式:

image

实现方案:

image

广度优先遍历:

遍历方式:

image

实现方案:

image

5.生成树

对连通图进行遍历,过程中经过的点和边可以形成一个普通树

1.最小生成树

生成树中边权和最小的那棵树

2.如何寻找最小生成树?

1.Prim算法

image
基本思想:不断加点
比如上图,随机选一点a,在a周围,有beg三点,选边权最小的ae遍历

6.单源最短路径

就是给定起点,然后寻找各个点到七点的最短路径

1.寻找方法

1.dijstra算法

和Prim算法相似,把他分已知和未知,慢慢更新

posted @   qjc0714  阅读(274)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
html
点击右上角即可分享
微信分享提示