java最短路径算法如何实现有向任意两点的最短路径

java最短路径算法如何实现有向任意两点的最短路径

问题描述

java最短路径算法如何实现有向任意两点的最短路径急求答案,帮忙回答下
精选答案
最佳答案

Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra一般的表述通常有两种方式,一种用永久和临时标号方式,一种是用OPEN, CLOSE表方式用OPEN,CLOSE表的方式,其采用的是贪心法的算法策略,大概过程如下:

1.声明两个集合,open和close,open用于存储未遍历的节点,close用来存储已遍历的节点

2.初始阶段,将初始节点放入close,其他所有节点放入open

3.以初始节点为中心向外一层层遍历,获取离指定节点最近的子节点放入close并从新计算路径,直至close包含所有子节点代码实例如下:Node对象用于封装节点信息,包括名字和子节点[java] view plain copypublic class Node {private String name;private Map

点击这里复制本文地址 以上内容由生活美整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

支持Ctrl+Enter提交
qrcode

生活美 © All Rights Reserved.  Copyright Your WebSite.Some Rights Reserved.
Powered by SHENGHUOMEI