YEN算法和删除算法分别实现K可靠最短路径算法
在上学期,用马丁的删除算法实现了K可靠最短路径。
这学期为了进行进一步算法比较,决定用最原始的YEN算法来计算K最短路径,算法最早提出人是YEN,于是算法因此而命名。
在查阅了大量资料后,终于搞明白了算法的思想,终取用java和C#实现它。
步骤
用DIjkstra算法求出最短路径 k=1;
这条path中的任意两节点构成的边都可以作为偏离边,此边的开始节点为偏离节点
然后依次将这条path上的偏离边去掉求最短路径。去最短的为次短路径,k=2;
依次循环,知道K求出
这里要注意两点:
在我们寻找偏离边 u -> v' 的时候,如果 u == xi.pre (也就是当 要找的偏离边 和 xi
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
