图论算法新手入门

本文是关于图论算法的入门介绍,适合有一定搜索算法基础的读者。首先阐述了图论的基本概念,包括节点与边的关系,并通过实例解释了广义上的图表示的事物间关系。接着,讨论了图的存储方法,如矩阵存储和邻接表存储,其中邻接表分为vector实现和链式前向星实现,各有优缺点。文章还简要列举了图论中的常见问题,如最短路径、最小生成树、强连通分量等,并提到了相关算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

阅读本文需有一定的搜索算法基础。

一、什么是图论?

图论是离散数学的一个分支。

从狭义上来讲,图可以理解为地图。地图上有地点与路径,显示地点与路径之间的连接;

例如一张北京的地图

我们可以继续将实际的地图抽象成更简洁的结点与路径,就像地铁的路线图。

再例如著名的七桥问题就也可以通过抽象把实际的地图抽象成点与线来表示

广义上来说,图表示的是事物与事物之间的关系,地图即是表示地点与地点之间的关系,路径可以表示相连两个地点之间的距离。

 

从上述内容可以发现,图有两个重要的组成部分,即节点与边;图论即是探究结点与边关系的学科。

二、图的存储

一个图主要由三个因素确定:点的个数、边的个数、点与边的连接关系。

想要确定一条边,需要明确这条边的起点,终点,权值。这里就涉及到了边的方向问题,确定起点与终点后,边就可以想象成一个由起点指向终点箭头,我们日常生活中常见的没有方向的边(无向边)也可以理解为两条起点与终点相反的有向边。

在解决图论相关问题之前,首先要明确如何存储图。

这里以一张简单的图为例子介绍两种存储图的方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值