/*
S -- START node.
T -- END node
Path[] -- Path[i]=j indicates the previous node of node i is j. Path[i]=-1 indicates node i
has not previous node, e.g. START node. It could be expanded dynamically.
Dist[] -- store the lengths of the shortest pathes from START node to END node. It could be
expanded dynamically.Dist[i]=INFINITY indicates there is not a path from START
node to node i.
Prime[] -- Prime[i] indicates node Prime[i] is the prime node of node i. Prime[i]=-1 indicates
the node i has not prime node.
Base[] -- In opposition to Prime[i], node Base[i] is the original node of node i, that is to say,
node i is the prime node of node Base[i].
S -- 开始节点。
T -- 终止节点。
Path[] -- 存储从开始节点到其他节点的最短路径信息。核心思想是每个元素中存储其最短
路径中前一个节点的编号。在MS算法中,由于有向图中扩展节点的加入,此数组会
进行动态扩充。Path[i]=-1表示节点i无前驱节点。
Dist[] -- 存储从开始节点到其他节点的最短距离值。同样此数据也会进行动态扩充。
Dist[i]=INFINITY表示从开始节点到i节点没有路径相连。
Prime[] -- 存储某个节点的扩展节点的编号。Prime[i]=-1表示节点i没有扩展节点。此数组
也会进行动态扩展。通过在Prime[]中寻找节点T的扩展节点T`,T``,T```, ……,
然后在Path[]中依次求得这些扩展节点对应的最短路径,即可以得到前k条最短路径。
Base[] -- Prime[]是用来从基本节点出发寻找扩展节点,而Base[]正好相反,它是用来记录扩展
节点对应的原始节点。如果本来就是原始节点则对应的值就是本身。
*/
S -- START node.
T -- END node
Path[] -- Path[i]=j indicates the previous node of node i is j. Path[i]=-1 indicates node i
has not previous node, e.g. START node. It could be expanded dynamically.
Dist[] -- store the lengths of the shortest pathes from START node to END node. It could be
expanded dynamically.Dist[i]=INFINITY indicates there is not a path from START
node to node i.
Prime[] -- Prime[i] indicates node Prime[i] is the prime node of node i. Prime[i]=-1 indicates
the node i has not prime node.
Base[] -- In opposition to Prime[i], node Base[i] is the original node of node i, that is to say,
node i is the prime node of node Base[i].
S -- 开始节点。
T -- 终止节点。
Path[] -- 存储从开始节点到其他节点的最短路径信息。核心思想是每个元素中存储其最短
路径中前一个节点的编号。在MS算法中,由于有向图中扩展节点的加入,此数组会
进行动态扩充。Path[i]=-1表示节点i无前驱节点。
Dist[] -- 存储从开始节点到其他节点的最短距离值。同样此数据也会进行动态扩充。
Dist[i]=INFINITY表示从开始节点到i节点没有路径相连。
Prime[] -- 存储某个节点的扩展节点的编号。Prime[i]=-1表示节点i没有扩展节点。此数组
也会进行动态扩展。通过在Prime[]中寻找节点T的扩展节点T`,T``,T```, ……,
然后在Path[]中依次求得这些扩展节点对应的最短路径,即可以得到前k条最短路径。
Base[] -- Prime[]是用来从基本节点出发寻找扩展节点,而Base[]正好相反,它是用来记录扩展
节点对应的原始节点。如果本来就是原始节点则对应的值就是本身。
*/