步骤
集合S
集合Q
1
选择A到集合S={A}
此时最短路径A->A=0
以A为中间点,查找相邻点
Q={B,C,D,E,F,G}
A->-B=5
A->C=2
A->其它Q中结点=∞
发现A->C=2权值为最短
2
选择C到S={A,C}
此时最短路径A->A=0,A->C=2
以C为中间点,从A->C这条路径开始找
Q={B,D,E,F,G}
A->B=5(由第1步得到)
A->C->D=3
A->C->F=10
A->C->其它Q中结点=∞
在A到Q的结点中,发现A->C->D=3权值为最短
3
选择D到S={A,C,D}
此时最短路径A->A=0,A->C=2,A->C->D=3,
以D为中间点,从A->C->D这条路径开始找
Q={B,E,F,G}
A->C->D->B=4(比第1步的A->B=5要短,替换之)
A->C->D->E=4
A->C->D->F=5(比第2步的A->C->F=10要短,替换之)
A->C->D->G=∞
在A到Q的结点中,发现A->C->D->B=4或A->C->D->E=4权值为最短
4
选择B、E到S={A,C,D,B,E}
此时最短路径A->A=0,A->C=2,A->C->D=3,A->C->D->B=4,A->C->D->E=4,
以B、E为中间点,分别从A->C->D->B、从A->C->D->E路径开始找
Q={F,G}
A->C->D->E->G=11
A->C->D->F=5(从第3步获得)
在A到Q的结点中,发现A->C->D->F权值为最短
5
选择F到S={A,C,D,B,E,F}
此时最短路径A->A=0,A->C=2,A->C->D=3,A->C->D->B=4,A->C->D->E=4,A->C->D->F=5
以F为中间点,从,A->C->D->F这条路径开始找
Q={G}
A->C->D->F->G=8(比第4步的A->C->D->E->G=11要短,替换之)
6
选择G到S={A,C,D,B,E,F,G}
此时最短路径A->A=0,A->C=2,A->C->D=3,A->C->D->B=4,A->C->D->E=4,A->C->D->F=5,A->C->D->F->G=8
集合Q为空,查找完毕。