Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Коммивояжер

Автор: onizuka1988 27.12.2006 6:02

Люди, объясните пожалуйста алгоритм нахождения кратчайшего пути методом генерирования всех перестановок!
Вот привожу полцедуру, объясните пожалуйста, как она работает. Буду очень благодарен! Полная программа лежит в разделе faq.


procedure sortlines;
var k,i,j:integer;
w:integer;
begin
for i:=1 to n do
for j:=1 to n do
b[i,j]:=j; {непонятно как выглядит данная матрица, приведите пожалуйста пример}
for k:=1 to n do {откуда сдесь фигурирует k?}
for i:=1 to n-1 do
for j:=i+1 to n do
if a[k,b[k,i]]>a[k,b[k,j]] then {это сравнение чего?}
begin
w:=b[k,i]; {как происходит данная перестановка?}
b[k,i]:=b[k,j];
b[k,j]:=w;
end;
end;

.