欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java最短路徑算法如何實現有向任意兩點的最短路徑

吉茹定2年前25瀏覽0評論

java最短路徑算法如何實現有向任意兩點的最短路徑?

Dijkstra(迪杰斯特拉)算法是典型的最短路徑路由算法,用于計算一個節點到其他所有節點的最短路徑。主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。 Dijkstra一般的表述通常有兩種方式,一種用永久和臨時標號方式,一種是用OPEN, CLOSE表方式 用OPEN,CLOSE表的方式,其采用的是貪心法的算法策略,大概過程如下:

1.聲明兩個集合,open和close,open用于存儲未遍歷的節點,close用來存儲已遍歷的節點

2.初始階段,將初始節點放入close,其他所有節點放入open

3.以初始節點為中心向外一層層遍歷,獲取離指定節點最近的子節點放入close并從新計算路徑,直至close包含所有子節點 代碼實例如下: Node對象用于封裝節點信息,包括名字和子節點 [java] view plain copy public class Node { private String name; private Map