Кратчайший маршрут между несколькими точками

Мне нужно найти кратчайший маршрут между несколькими точками. Допустим, у меня есть следующие четыре пункта:

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);

Итак, я хочу выяснить, какие точки нужно пройти в первую очередь, чтобы получить кратчайший путь от начальной точки до конечной точки.

Может кто-нибудь мне помочь?

Обновление: он должен пройти мимо каждой из точек в списке pointsToGoPast. Стоимость указана даже для каждого маршрута.

Ответы на вопрос(4)

Ваш ответ на вопрос