Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: TSP: Nearest-Neighbour-Method

  Alt 29. Dez 2005, 19:07
Hallo Frederic,

von der Distanzmatrix musst du nur das obere Dreieck speichern:

Delphi-Quellcode:
function GetDistances(ap: TPointDynArray): TDistDynArray;
var
  iRow, iCol: integer;
begin
  SetLength(Result, Pred(Length(ap)));
  for iRow := Low(ap) to Pred(High(ap)) do
  begin
    SetLength(Result[iRow], Pred(High(ap) - iRow));
    for iCol := Low(Result[iRow]) to High(Result[iRow]) do
      Result[iRow, iCol] := Distance(ap[iRow], ap[Succ(iRow + iCol)]);
  end;
end;
Reduziert die Einträge von n**2 auf (n/2)(n-2).

Grüße vom marabu
  Mit Zitat antworten Zitat