当前位置: 首页 > news >正文

《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(49)万鸦壶焚网络 - 网络延迟时间(Bellman-Ford)

《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(49)万鸦壶焚网络 - 网络延迟时间(Bellman-Ford)

哪吒在数据修仙界中继续他的修炼之旅。这一次,他来到了一片神秘的万鸦壶网络,壶中网络错综复杂,节点之间的延迟各不相同。壶的入口处有一块巨大的石碑,上面刻着一行文字:“欲破此壶,需以万鸦壶之力,焚网络,网络延迟显真身。”

哪吒定睛一看,石碑上还有一行小字:“网络拓扑结构如下,节点K到其他所有节点的最短延迟时间的最大值即为网络延迟时间。”哪吒心中一动,他知道这是一道关于网络延迟时间的难题,需要通过Bellman-Ford算法来计算从起点到所有节点的最短路径,进而找到最大延迟时间。

暴力解法:万鸦壶的初次尝试

哪吒心想:“要计算网络延迟时间,我可以尝试所有可能的路径。”他催动万鸦壶之力,从起点节点开始,逐个节点访问,记录每条路径的延迟时间,试图找到最短路径。

#include <vector>
#include <climits>
using namespace std;

int networkDelayTime(vector<vector<int>>& times, int n, int k) {
   
    vector<int> dist(n + 1, INT_MAX);
    dist[k] = 0;
    for (int i = 0; i < n - 1; ++i) {
   
        for (auto& time : times) {
   
            int u = time[0];
            int v = time[1];
            int w = time[2];
            if (dist[u] != INT_MAX && dist[u] + w < dist[v]) {
   
                dist[v] = dist[u] + w;
            }
        }
    }
    int maxDelay = 0;
    for (int i = 1; i <= n; ++i) {
   
        if (dist[i] == INT_MAX) return -1;
        maxDelay = max(maxDelay, dist[i]);
    }
    return maxDelay;
}

哪吒成功地计算了网络延迟时间,但万鸦壶的光芒却黯淡了下来。他意识到,这种方法虽然可行,但效率低下,尤其是当网络节点数量很多时,灵力消耗巨大。

C++语法点

在C++中,Bellman-Ford算法涉及到图的邻接表表示和距离数组的更新。以下是一些重要特性:

  • 邻接表

    • 使用vector<vector<int>>表示图的邻接表。
    • 常用操作:
      • times:存储所有边的信息,每条边包含起点、终点和权重。
  • 距离数组

相关文章:

  • 使用 Doris 和 LakeSoul
  • 蓝桥备赛(19)- 哈希表和 unordered_ set 与unordered_map(上)
  • 程序化广告行业(13/89):DSP的深入解析与运营要点
  • C++自学方法论:从零基础到工程实践的体系化路径研究
  • Leetcode:34(二分查找)
  • CNN 稠密任务经典结构
  • 【前端文件下载实现:多种表格导出方案的技术解析】
  • Linux系统下安装Gedit文本编辑器的完整指南
  • 基于YOLOv8深度学习的PCB缺陷检测识别系统【python源码+GUI界面+数据集+训练代码】
  • 跨平台直播美颜SDK开发指南:如何兼容iOS、Android与Web
  • 虚拟系统实验
  • 【redis】set 类型:基本命令
  • STM32与HAL库开发实战:深入探索ESP8266的多种工作模式
  • 《C++并发编程实战》精读总结:第四章 并发操作的同步
  • Webpack 和 Vite 的主要区别
  • JVM 的不同组成部分分别有什么作用?
  • Navicat SqlServer 设置自增主键
  • 堆的应用(堆排序TopK问题)
  • mysql存储引擎、索引、事务---java
  • 【工具】C#游戏防沉迷小工具
  • 科学与艺术的跨界对话可能吗?——评“以蚁为序的生命网络”
  • 菲律宾华人“钢铁大王”撕票案两主谋落网,部分赎金已被提取
  • 内塔尼亚胡称将控制“整个加沙”,英、法、加威胁对以“制裁”
  • 甘肃白银煤矿透水事故最新进展:3名被困矿工已无生命体征
  • 习近平:推进中国式现代化要继续把制造业搞好
  • 新华社原香港分社副社长、深圳市委原副书记秦文俊逝世