计算机中非常重要的一个领域——图论

不可否认,图论是计算机领域中非常重要的一个领域。而图的存储或者说建图是处理图论问题的大前提。

在算法竞赛中也出现的非常平凡。树这一数据结构也是一种特殊的图,可见图所延伸的领域可是非常的广阔。

任何建图都需要考虑多个方面。

如:

  • 点和边的表示关系
  • 有向图还是无向图
  • 权值的数据结构
  • 遍历方式
  • 点号或边号是否有序

例题讲解

下文以网络延迟时间 为实例代码展示。

本题是最短路算法的典型应用题。常见最短路算法有很多,如:dijkstra, Floyd, Bellman Frod, SPFA 等等。

本文不具体讲解这些算法的原理与细节,仅以朴素 dijkstra 算法为基本模板进行表示。

朴素 dijkstra 算法能很好的与多种常见建图方式应用在一起。

为了辅助读者的阅读,这里就做一下简单算法流程介绍:

  1. 寻找出离源点距离最近的未访问的点(贪心)
  2. 基于该点,对该点邻接的点进行松弛操作
  3. 循环上述操作,直到无法找出能贪心到的最近点
相关推荐
h_a_o777oah8 天前
【图论】网络流:Dinic 算法模板实现原理及解题技巧
c++·算法·图论·acm·网络流·最小割·dinic算法
有点。10 天前
C++03阶段练习(练习题)
数据结构·算法·图论
-dzk-14 天前
【图论】LC 207.课程表
图论
wuyk55515 天前
18.Kruskal 算法:用最短的边连成一张网
开发语言·算法·图论
-dzk-15 天前
【图论】LC 994.腐烂的橘子
图论
-dzk-16 天前
【图论】LC 200.岛屿数量
深度优先·图论
Lyyaoo.18 天前
【图论】岛屿数量/腐烂的橘子/课程表/实现前缀树
图论
lvwangshu19 天前
图论:LCA、树的直径、树的重心、二分图与 Tarjan 缩点
算法·图论
hansang_IR21 天前
【题解】[APIO2023] 赛博乐园 / cyberland
c++·算法·图论
aqiu11111121 天前
【并查集 / 图论】蓝桥云课 - 魔法大陆的城市群(求无向图连通块数量)题解
蓝桥杯·图论