Вот моя проблема: у меня есть массив точек, точки имеют три свойства: координаты "x" и "y" и порядковый номер "n". «X» и «y» определены для всех точек, «n» - нет.
Вы можете получить к ним доступ и написать вызывающие точки [i] -> x, points [i] -> y, points [i] -> n. т.е.:
points[i]->n = var
var = points[i]->n
Так что заголовок, возможно, испортил сюрприз, но я ищу возможную реализацию решения задачи о гамильтоновом пути: мне нужно установить число «n» для каждой точки, чтобы последовательность была кратчайший путь (не цикл, ребра должны быть непересекающимися) , который проходит ровно один раз через каждую точку. Я искал решение и нашел Алгоритм Беллмана Форда , но я думаю, что он не работает, так как проблема не указывает, что он должен пройти через все пункты, это правильно?
Если это так, есть ли у кого-то другой алгоритм и реализация?
Если алгоритм Беллмана Форда работает, как бы я его реализовал?
Большое спасибо,
Julien
Редактировать : проблема в том, что мне нужно воссоздать список географических точек, которые представляют автобусные остановки, и мне нужно выяснить реалистичную последовательность. Производительность вообще не важна, поскольку цель состоит только в заполнении базы данных.
Редактировать : Вот изображение: Моя задача о гамильтоновом пути http://www.stoeffler.cc/hpp.png