С учетом следующих действий
Class Point()
{
prop int X
prop int Y
//ByDefault it generates a Random value
Point()
{
GenerateRandom();
}
public void GenerateRandom()
{
//Code for generateRandom
}
}
Class Operations
{
public float Distance(Point A, Point B)
{
//Code for calculating distance
}
///Determinates the distance from i=0 to i=n of the array with a for sentence
public float AcumulatedDistance(Point[] PointsOrdered)
{
float ret=0;
for(i=0;i<n-1;i++)
ret += Distance(PointsOrdered[i], PointsOrdered[i+1]);
return ret;
}
}
Что нужно сделать, чтобы (в операциях):
public Point[] ShortestPath(int initialIndex, Point[] myPoints)
Где myPoints имеет набор точек, и я считаю myPoints[initialindex]
моей StartPosition. И возвращенный массив - это точки, упорядоченные для получения кратчайшего пути.
Кажется, я не могу понять, как применять Флойд-Варшалл, или Дайкстра, если они применимы.