Вниз
Скачать: CL | DM;

Форд - Беллман   Найти похожие ветки 

 
Light   (2006-07-14 02:28) [0]

Просвятите, пожалуйста, меня почему этот код не работает и как его исправить.

void FordBellman(int ist)
{
int m,j,count;

count=0;
while (count<n)
{
for(m=0;m<n;m++)
for(j=0;j<n;j++)
c[ist][m]=min(c[ist-1][m],c[ist-1][j]+c[j][m]);
printf("%d\n",c[ist][m]);

count++;
}
}
эта функция должна реализовывать алгоритм Форда- Беллмана(выводить мин расстояние от выбранной вершины до других) , но на выходе одни нули. Почему?
ist - это вершина - начало отсчета,


 
Duce   (2006-07-14 03:18) [1]

> while (count<n)
N?


 
Light   (2006-07-14 10:34) [2]

n - это общее кол-во вершин
с[m][j] - это матрица сходимости


 
TUser ©   (2006-07-14 13:12) [3]

Матрица как задана? 0, 1? Тогда ноль меньше единицы. Отсутствие ребер удобно задать в виде какого-нибудь большого числа - типа есть, но дорогое.

Зы. Сам алгоритм не проверял, может еще есть какие-то тараканы.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.026 c
2-1153818888
Crazy monkey
2006-07-25 13:14
2006.08.13
Картинку из TreeView в image


15-1152683047
Den_is
2006-07-12 09:44
2006.08.13
Обман. Как бороться?


15-1153375938
Лысов
2006-07-20 10:12
2006.08.13
Вызов методов из dll


2-1153736129
Delphi basic
2006-07-24 14:15
2006.08.13
Выбор значения поля в DBGrid из списка и сопоставление


4-1144744035
Grant
2006-04-11 12:27
2006.08.13
Функция ShellExecute




   Наверх