Итак, вот в чем проблема: мне нужен алгоритм, заданный набором точек n
(x;y)
Какой у вас самый короткий путь, чтобы связать все точки вместе, без каких-либо ограничений , что означает, что одна точка может ссылаться на любое количество других точек.Вычислить кратчайшие расстояния между несколькими точками
Первая идея решить эту проблему была для каждой несвязанной точки, найти ближайшую точку и ссылку на нее, а затем удалить эти две точки из несвязанного списка точек и начать сначала до тех пор, пока у вас не будет больше несогласованных точек. На этом этапе вы создали блоки ближайших точек. Затем вы связываете эти блоки, находя их кратчайшее расстояние между ними.
Проблемы этого метода: 1. Он не дает кратчайший путь 2. Это кажется довольно неэффективным. Поэтому я спрашиваю вас, какой тип алгоритма выполняет такой расчет (мне просто нужно общее расстояние между точками, Меня не волнует, как они на самом деле связаны)?
Звучит как вариация [TSP] (https://en.wikipedia.org/wiki/Travelling_salesman_problem) – yurib
Не совсем так, как думал, потому что здесь я могу часто ходить в «город», как я хочу. – Traxys
Каковы ограничения? Оптимальная конфигурация весов в графе NP-полная, поэтому, возможно, на N <= 20 это будет нормально. – Hristo