花了近一天时间,终于做了一个 迪科斯彻算法(Dijkstra)的实现。效率有待提高,正确性有待检验。现在将源代码贴出来。
当前运行结果是:
{1=[0, 1], 2=[0, 2], 3=[0, 4, 3], 4=[0, 4], 5=[0, 4, 3, 5]}
Length(0-1) = Infinity
Length(0-2) = 10
Length(0-3) = 50
Length(0-4) = 30
Length(0-5) = 60
{0=[1, 0], 2=[1, 2], 3=[1, 2, 3], 4=[1, 4], 5=[1, 2, 3, 5]}
Length(1-0) = Infinity
Length(1-2) = 5
Length(1-3) = 55
Length(1-4) = Infinity
Length(1-5) = 65
{0=[2, 0], 1=[2, 1], 3=[2, 3], 4=[2, 4], 5=[2, 3, 5]}
Length(2-0) = Infinity
Length(2-1) = Infinity
Length(2-3) = 50
Length(2-4) = Infinity
Length(2-5) = 60
{0=[3, 0], 1=[3, 1], 2=[3, 2], 4=[3, 4], 5=[3, 5]}
Length(3-0) = Infinity
Length(3-1) = Infinity
Length(3-2) = Infinity
Length(3-4) = Infinity
Length(3-5) = 10
{0=[4, 0], 1=[4, 1], 2=[4, 2], 3=[4, 3], 5=[4, 3, 5]}
Length(4-0) = Infinity
Length(4-1) = Infinity
Length(4-2) = Infinity
Length(4-3) = 20
Length(4-5) = 30
{0=[5, 0], 1=[5, 1], 2=[5, 2], 3=[5, 3], 4=[5, 4]}
Length(5-0) = Infinity
Length(5-1) = Infinity
Length(5-2) = Infinity
Length(5-3) = Infinity
Length(5-4) = Infinity