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

Python Dijkstra算法与优先级队列

Dijkstra最短路径使用heapq优先级队列。优先队列总是取当前最小dist节点。邻接表表示图。O(E log V)复杂度。A*启发式扩展。负权边不能用。路径重建predecessor。

import heapq

def dijkstra(graph, start):
distances = {node: float('inf') for node in graph}
distances[start] = 0
queue = [(0, start)]

while queue:
current_dist, node = heapq.heappop(queue)
if current_dist > distances[node]:
continue
for neighbor, weight in graph[node]:
distance = current_dist + weight
if distance < distances[neighbor]:
distances[neighbor] = distance
heapq.heappush(queue, (distance, neighbor))
return distances

graph = {
'A': [('B', 1), ('C', 4)],
'B': [('A', 1), ('C', 2), ('D', 5)],
'C': [('A', 4), ('B', 2), ('D', 1)],
'D': [('B', 5), ('C', 1)]
}

result = dijkstra(graph, 'A')
print(result) # {'A': 0, 'B': 1, 'C': 3, 'D': 4}

# 应用:网络路由、地图导航、游戏AI

import sys, math

# A*算法
def astar(graph, start, goal, h):
pass

http://www.jsqmd.com/news/1021641/

相关文章:

  • 如何利用Tennis-Refactoring-Kata快速提升团队代码重构能力:完整实施指南
  • VC++ 2019便携版运行库制作指南:原理、实战与避坑
  • 跟着 MDN 学 React 框架 Day 5:组件化 React 应用——从单体到模块化
  • 柳州市黄金回收白银回收铂金回收彩金回收店铺排行榜 2026实测五家诚信优选实体门店及电话地址推荐 - 大熊猫898989
  • 开封市黄金回收白银回收铂金回收彩金回收店铺哪家靠谱?2026实测五家诚信优选实体门店及电话地址推荐 - 盛世金银回收
  • 如何实现微信聊天记录永久保存?WeChatMsg完整指南助你掌控个人数据
  • 温州市黄金回收白银回收铂金回收彩金回收店铺排行榜 2026实测五家诚信优选实体门店及电话地址推荐 - 大熊猫898989
  • CodeGraph:基于SQLite的本地代码知识图谱工具
  • 2026年高低压开关柜选购指南:从工地到化工厂,这些核心参数你必须知道! - 优质品牌商家
  • 终极解决方案:VisualCppRedist AIO全合一安装包完全指南
  • 轻量级安全扫描器lqsocan:从异步探测到CI/CD集成的DevSecOps实践
  • 跨视角地理定位技术:SFDE网络与频域特征应用
  • 统计机器学习:从预测准确率到不确定性推断的工程化转型
  • 淘宝开店后从零运营全攻略!新手快速破流量、出单实操技巧
  • 铜陵市黄金回收白银回收铂金回收彩金回收店铺哪家靠谱?2026实测五家诚信优选实体门店及电话地址推荐 - 盛世金银回收
  • 吉安市黄金回收白银回收铂金回收彩金回收店铺排行榜 2026实测五家诚信优选实体门店及电话地址推荐 - 大熊猫898989
  • 揭阳市黄金回收白银回收铂金回收彩金回收店铺排行榜 2026实测五家诚信优选实体门店及电话地址推荐 - 大熊猫898989
  • 生产级机器学习系统:从模型上线到带病生存的四大韧性设计
  • 5分钟掌握STL到STEP格式转换:专业CAD文件处理终极方案
  • Nexior一键部署AI平台:Docker+Vercel实现零运维全栈交付
  • 云原生 AI 平台架构设计:从模型服务到弹性调度的全链路工程实践
  • 吉林市黄金回收白银回收铂金回收彩金回收店铺排行榜 2026实测五家诚信优选实体门店及电话地址推荐 - 大熊猫898989
  • GT-POWER实战:从零搭建四缸汽油机一维仿真模型
  • 3步实现大疆无人机固件自由:DankDroneDownloader完整实战指南
  • Python的UnitTest接口自动化实战(八)
  • Python零基础入门实战:从环境搭建到项目开发的完整学习路径
  • 乌海市黄金回收白银回收铂金回收彩金回收店铺排行榜 2026实测五家诚信优选实体门店及电话地址推荐 - 大熊猫898989
  • 济南市黄金回收白银回收铂金回收彩金回收店铺排行榜 2026实测五家诚信优选实体门店及电话地址推荐 - 大熊猫898989
  • K8s 调度器扩展:从 Scheduling Framework 到自定义插件的工程实战
  • 2026年深圳汽车租赁公司怎么选?实地调研7家主流服务商,附中巴/大巴/跨境包车真实案例与价格参考 - 优质品牌商家