对如下有向带权图,若采用迪杰斯特拉(Dijkstra)算法求从源点a到其他各顶点的最短路径,则得到的第一路径的目标顶点是b,第二条最短路径的目标顶点是c,后续得到的其余各最短路径的目标顶点依次是()
A.d,e,f
B.e,d,f
C.f,d,e
D.f,e,d
首先,先看除了a还有5个顶点,那么就是要走5趟。
在下面表格列出b、c、d、e、f 以及一两三四五趟,最后一行写集合。
顶点 | 一趟 | 两趟 | 三趟 | 四趟 | 五趟 |
b | |||||
c | |||||
d | |||||
e | |||||
f | |||||
集合 |
顶点 | 一趟 | 两趟 | 三趟 | 四趟 | 五趟 |
b | (a,b)2 | ||||
c | (a,c)5 | (a,c)5 | |||
d | ∞ | ||||
e | ∞ | ||||
f | ∞ | ||||
集合 | {a,b} |
顶点 | 一趟 | 两趟 | 三趟 | 四趟 | 五趟 |
b | (a,b)2 | ||||
c | (a,c)5 | (a,c)5/(a,b,c)3 | |||
d | ∞ | (a,b,d)5 | |||
e | ∞ | ∞ | |||
f | ∞ | ∞ | |||
集合 | {a,b} | {a,b,c} |
?
顶点 | 一趟 | 两趟 | 三趟 | 四趟 | 五趟 |
b | (a,b)2 | ||||
c | (a,c)5 | (a,c)5/(a,b,c)3 | |||
d | ∞ | (a,b,d)5 | (a,b,d)5/(a,b,c,d)6 | ||
e | ∞ | ∞ | (a,b,c,e)7 | ||
f | ∞ | ∞ | (a,b,c,f)4 | ||
集合 | {a,b} | {a,b,c} | {a,b,c,f} |
??
顶点 | 一趟 | 两趟 | 三趟 | 四趟 | 五趟 |
b | (a,b)2 | ||||
c | (a,c)5 | (a,c)5/(a,b,c)3 | |||
d | ∞ | (a,b,d)5 | (a,b,d)5/(a,b,c,d)6 | (a,b,d)5 | |
e | ∞ | ∞ | (a,b,c,e)7 | (a,b,c,e)7/(a,b,d,e)6/(a,c,e)9/(a,b,c,d,e)7 | |
f | ∞ | ∞ | (a,b,c,f)4 | ||
集合 | {a,b} | {a,b,c} | {a,b,c,f} | {a,b,c,f,d} |
?
顶点 | 一趟 | 两趟 | 三趟 | 四趟 | 五趟 |
b | (a,b)2 | ||||
c | (a,c)5 | (a,c)5/(a,b,c)3 | |||
d | ∞ | (a,b,d)5 | (a,b,d)5/(a,b,c,d)6 | (a,b,d)5 | |
e | ∞ | ∞ | (a,b,c,e)7 | (a,b,c,e)7/(a,b,d,e)6/(a,c,e)9/(a,b,c,d,e)7 | (a,b,d,e)6 |
f | ∞ | ∞ | (a,b,c,f)4 | ||
集合 | {a,b} | {a,b,c} | {a,b,c,f} | {a,b,c,f,d} | {a,b,c,f,d,e} |
故后续得到的其余各最短路径的目标顶点依次是{a,b,c,f,d,e}