Najkrótsza trasa między wieloma punktami
Muszę znaleźć najkrótszą trasę między punktami wielokrotnymi. Powiedzmy, że mam te cztery punkty:
var startPoint = new Point(1, 1);
var pointsToGoPast = new List<Point> { new Point(3,1); new Point(2,4); };
var endPoint = new Point(10, 10);
Chcę więc dowiedzieć się, które punkty należy przejść obok, aby uzyskać najkrótszą trasę, od startPoint do endPoint.
Czy ktoś może mi pomóc?
Aktualizacja: Musi minąć każdy z punktów na liście punktówToGoPast. Koszt jest nawet dla każdej trasy.