Advertisement

基于优先队列优化的Dijkstra算法

阅读量:

dijikstra算法之优化版

在前一篇博客中所介绍的dijikstra最短路径算法,尽管其执行流程较为简洁,但由于采用了邻接表的方式来存储数据结构,导致其空间复杂度达到n²的级别,这一数值显然不够理想。同时,该算法的时间复杂度也存在较大的优化空间。在acm竞赛中,若未对算法进行相应的改进措施,则极有可能出现程序运行超时的情况。

为应对上述问题,在实际开发或竞赛过程中通常会引入优先队列作为优化手段。以下是我编写完成的dijikstra算法优先队列优化版本。该代码主要用于个人后续的学习回顾以及知识分享之用,如存在任何错误或需要进一步完善的地方,欢迎各位提出宝贵意见。

dijikstra算法思想和普通版代码链接


复制代码
    				(由于备战英语六级考试,注释使用了及其不标准的英文,请多多谅解)
    
    
      
    
复制代码
    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    #include<queue>
    #include<vector>
    #include<algorithm>
    
    #define MAXN 1000
    #define BIG 1e9		
    using nam

全部评论 (0)

还没有任何评论哟~