Вниз
Скачать: 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.03 c
2-1153933102
Phoroon~
2006-07-26 20:58
2006.08.13
Имя класса


2-1153744558
UMU
2006-07-24 16:35
2006.08.13
Значение "Edit.Text" в отчете "FastReports"


2-1153539186
Батя
2006-07-22 07:33
2006.08.13
Фотоапарат


3-1149584128
Хой
2006-06-06 12:55
2006.08.13
Компонент TDataSetProvaider.


8-1130403631
Norsk
2005-10-27 13:00
2006.08.13
Быстрое дискретное двумерное преобразование фурье




   Наверх