Skip to content

Commit b82b5e5

Browse files
committed
fix
1 parent 3c7b5cc commit b82b5e5

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

Dijkstra.go

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,15 @@ func Dijkstra(gg *Graph, start int) {
4141
dist = gg.matrix[start]
4242
flag[start] = true //find start to start
4343
dist[start] = 0 //start to start length
44+
fmt.Println("dist : ", dist)
4445

45-
k := 0
4646
//广度搜索
4747
for i := 0; i < gg.vexnum; i++ {
48+
k := 0
4849
min := MAX_VALUE
4950
//find min
50-
for j := 0; j < gg.vexnum; j++ {
51-
if flag[j] == true && dist[j] < min {
51+
for j := 0; j < len(dist); j++ {
52+
if flag[j] == false && dist[j] != MAX_VALUE && dist[j] < min {
5253
min = dist[j]
5354
k = j
5455
}
@@ -58,14 +59,14 @@ func Dijkstra(gg *Graph, start int) {
5859
flag[k] = true
5960

6061
//update dist length
61-
for u := 0; u < gg.vexnum; u++ {
62+
for u := 0; u < len(dist); u++ {
6263
weigth := 0
6364
if gg.matrix[k][u] == MAX_VALUE {
6465
weigth = MAX_VALUE
6566
} else {
66-
weigth = gg.matrix[k][u]
67+
weigth = min + gg.matrix[k][u]
6768
}
68-
if flag[u] == true && weigth < dist[u] {
69+
if flag[u] == false && weigth < dist[u] {
6970
dist[u] = weigth
7071
prev[u] = k
7172
}
@@ -88,7 +89,7 @@ func initGG(gg *Graph, vexs []string) {
8889
gg.matrix[0][2] = 3
8990

9091
gg.matrix[1][0] = 5
91-
gg.matrix[1][3] = 7
92+
gg.matrix[1][3] = 99
9293
gg.matrix[1][4] = 4
9394

9495
gg.matrix[2][0] = 3

0 commit comments

Comments
 (0)