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

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

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

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

如:

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

例题讲解

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

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

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

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

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

  1. 寻找出离源点距离最近的未访问的点(贪心)
  2. 基于该点,对该点邻接的点进行松弛操作
  3. 循环上述操作,直到无法找出能贪心到的最近点
相关推荐
lvwangshu4 天前
P6534 [COCI 2015/2016 #1] UZASTOPNI 等差树列 题解
动态规划·图论·题解·性质题
positive_zpc7 天前
进阶数据结构图——关键路径(四)
数据结构·图论·关键路径
云淡风轻~窗明几净8 天前
宇宙管理学猜想
算法·图论
小星星闪亮登场8 天前
图论--最小生成树(内含二分图)
数据结构·算法·图论·迭代加深·图搜索算法
positive_zpc8 天前
进阶数据结构图——最短路径(二)
数据结构·算法·图论·最短路径
positive_zpc8 天前
进阶数据结构图——最小生成树(一)
数据结构·算法·图论
无定义_9 天前
Dijkstra——单源最短路径
算法·图论
zmzb01039 天前
C++课后习题训练记录Day201
c++·算法·图论
星星.7229 天前
【图论】最小生成树|Prim+Kruskal算法
数据结构·c++·算法·图论
微小冷12 天前
Python图论库NetworkX初步
开发语言·python·图论·graph·networkx·digraph