第一題:從 節點1 到 節點6 的最短路徑
(注:①先創建兩個集合,S={ }集合用來裝路線確定的,U={ }集合用來裝路線未確定的
②相鄰節點纔有權重值,不相鄰相當於無限遠,用∞表示
③每確定一個節點都要更新路線未確定的節點的權重,務必要最小)
第一步:
S={ 1(0)}
U={ 2(1),3(12),4(∞),5(∞),6(∞)}
第二步:
S={ 1(0), 2(1)}
U={3(10),4(4),5(∞),6(∞)}
第三步:
S={ 1(0), 2(1),4(4)}
U={3(8),,5(17),6(19)}
第四步:
S={ 1(0), 2(1),4(4),3(8)}
U={5(13),6(19)}
第五步:
S={ 1(0), 2(1),4(4),3(8),5(13)}
U={6(17)}
第六步:
S={ 1(0), 2(1),4(4),3(8),5(13),6(17)}
綜上:最短路徑就1-->2-->4-->3-->5-->6 最短路徑是17
第二題:從 節點D 到 節點A 的最短路徑
第一步:
S={ D(0)}
U={ C(3),E(4),F(∞),B(∞),G(∞),A(∞)}
第二步:
S={ D(0),C(3)}
U={ E(4),F(9),B(13),G(∞),A(∞)}
第三步:
S={ D(0),C(3),E(4)}
U={ F(6),B(13),G(12),A(∞)}
第四步:
S={ D(0),C(3),E(4), F(6)}
U={B(13),G(12),A(22)}
第五步:
S={ D(0),C(3),E(4), F(6),G(12)}
U={B(13),A(22)}
第六步:
S={ D(0),C(3),E(4), F(6),G(12),B(13)}
U={A(22)}
第七步:
S={ D(0),C(3),E(4), F(6),G(12),B(13),A(22)}
綜上:最短路徑是 D-->C-->E-->F-->G-->B-->A 最短路徑是22