最短路径(邻接表)-Dijkstra算法:生成的图采用邻接表的存储方式。
具体的实现代码如下:
package com.threeTop.www;
import java.util.Hashtable;
import java.util.Stack;
/**
* 邻接表存储方式的Dijkstra算法
* @author wjgs
*
*/
public class Dijkstra2 {
//图的顶点数组
private ListGraphNode []nodes;
//借助的哈希表
private Hashtable<Integer,Integer> valueindex=new Hashtable<Integer,Integer>();
/**
* 初始化图的顶点
* @param vertexes
*/
public Dijkstra2(int []vetexes)
{
nodes=new ListGraphNode[vetexes.length];
for(int i=0;i<vetexes.length;i++)
{
//初始化每个节点
nodes[i]=new ListGraphNode(i,vetexes[i],null);
//hash记录每个位置
valueindex.put(vetexes[i], i);
}
}
/**