本文介绍了C ++中的dijkstra算法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
—SA —SA
我有一个dijkstra算法,用于加权无向图.如何重新排列它以计算加权和有向图的最短路径?它在C ++中.参见 en.wikipedia/wiki/Dijkstra''s_algorithm [ ^ ]. 现在,本文不再提及弧weights.如果您需要考虑算法,则可以轻松地对其进行修改.查看伪代码中的距离计算(请参见dist,dist_between).计算它们时,只需将每个弧的距离乘以其权重即可.
I have a dijkstra algorithm for weighted, undirected graph. How can I rearrange it in order to calculate weighted and directed graph''s shortest path?
解决方案 You have more than enough information on this well-known algorithm to implement it in C++. See en.wikipedia/wiki/Dijkstra''s_algorithm[^]. Now, this article does not mention arc weights. You can easily modify the algorithm if you need to take it into account. Look at the distance calculation in the pseudocode (see dist, dist_between). When you calculate them, multiply each arc''s distance with its weight, that''s all you need.更多推荐
C ++中的dijkstra算法
发布评论