Кратчайший путь из случайных точек на координатной плоскости - PullRequest
0 голосов
/ 31 мая 2011

С учетом следующих действий

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. И возвращенный массив - это точки, упорядоченные для получения кратчайшего пути.

Кажется, я не могу понять, как применять Флойд-Варшалл, или Дайкстра, если они применимы.

...