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

Dijkstra算法的学习

Dijkstra算法的学习

学习了前辈 name_s_Jimmy 的文章 算法学习(10):LeetCode刷题之Dijkstra最短路径算法_leetcode dijkstra-CSDN博客

1. 介绍

Dijkstra最短路径算法,获取有向图上所有点到当前点的最小代价,需要使用邻接表

2. 模板

	/** @description 最短路径算法* @param: edges 邻接表(int[0]是索引,int[1]是权值)* @param: start 起始点* @returns int* @author yamu* @date 2025/4/28 15:43*/public int[] dijkstra(List<List<int[]>> edges, int start) {int[] res = new int[edges.size()];//最小距离数组Arrays.fill(res, Integer.MAX_VALUE);//不可达PriorityQueue<Node> pq = new PriorityQueue<>((o1, o2) -> o1.minVal - o2.minVal);//记录更小距离的点pq.add(new Node(start, 0));//起始点while (!pq.isEmpty()) {Node curNode = pq.poll();int curId = curNode.curId, curDis = curNode.minVal;for (int[] j : edges.get(curId)) {int nextId = j[0], nextDis = j[1] + curDis;if (nextDis < res[nextId]) {pq.add(new Node(nextId, nextDis));res[nextId] = nextDis;}}}return res;}

3. 例题

  1. 743. 网络延迟时间 - 力扣(LeetCode)
http://www.xdnf.cn/news/2948.html

相关文章:

  • cmake qt 项目编译
  • 开源 Agent 框架对比:LangChain vs AutoGen vs CrewAI
  • 牛客:AB1 【模板】栈
  • 天猫TP代运营服务商-品融电商:助力品牌破局增长的专业推手
  • 【HCIA】4种NAT的配置方式
  • AI专题(二)----由浅入深初识LLM
  • 大模型性能测试
  • 数据要素如何驱动的新质IDC一体化运营体系发展?
  • Jtti:nginx服务器如何限制访问频率
  • 在android 系统上qnn sdk转换,运行模型示例
  • MCU低功耗运行模式与唤醒机制解析
  • 数据结构每日一题day12(链表)★★★★★
  • 【AI论文】PHYBench:大型语言模型中物理感知与推理能力的全面评估
  • Redis 常见问题深度剖析与全方位解决方案指南
  • 基于STM32、HAL库的DS2411R安全验证及加密芯片驱动程序设计
  • RPO与RTO
  • 代码随想录第30天:动态规划3
  • Foreign Trade Process
  • 9.Excel:条件格式
  • torch.nn.Parameter 与 torch.Tensor
  • 微机控制电液伺服钢轨滚动疲劳试验机
  • 17:00开始面试,17:08就出来了,问的问题有点变态。。。
  • TransactionTemplate 与@Transactional 注解的使用
  • python22-元组、列表、字典、集合推导式
  • 清洁电力转换技术全球引领者——阳光电源,如何搭建数字化业务平台?
  • 代码随想录打卡|Day29 动态规划Part02(不同路径、不同路径2、整数拆分、不同的二叉树搜索)
  • 第十二届蓝桥杯 2021 C/C++组 空间
  • 什么是数据中心代理IP?有哪些用途?
  • Spring之IoC控制反转
  • 【Maven】子POM与父POM