Задача алгоритма Дейкстры
у меня есть программа, которая используется для алгоритма Дейкстры..она работает правильно, но есть проблема в этом приложении.
он может найти кратчайший путь.
ПРИМЕР
--------------------------
Количество Узлов : 6 (0,1,2,3,4,5)
моя программа может найти кратчайший путь между 0 и 5, но она не может найти между 4 и 5, 2,5 или 1,4...и т. д..
---------------------------
есть ли кто-нибудь, кто может помочь в этом?
for (i = 1; i < sayac; ++i) { EKM[i] = ebas; ead = 0; } for (i = 0; i < sayac; ++i) { for (j = 0; j < sayac; ++j) if (elealindi[j] == 0) if (graph[ead, j] != -1) if (EKM[j] > graph[ead, j] + EKM[ead]) { EKM[j] = graph[ead, j] + EKM[ead]; System.String.Concat(ROTA[j], ROTA[ead]); ptr = ROTA[j]; while (ptr == null) ++ptr; ptr = Convert.ToChar('A' + ead); Label2.Text = Label2.Text + " " + ROTA[j]; dij_saving(); } ek = ebas; for (j = 1; j < sayac; ++j) if (elealindi[j] == 0) if (EKM[j] < ek) { ek = EKM[j]; ead = j; } elealindi[ead] = 1; }
Что я уже пробовал:
Нахождение кратчайшего пути от одного узла к другому..