Алгоритм поиска двух наиболее удаленных друг от друга точек

В ответ на вопрос о Флойд-Уоршалле или простом алгоритме Hosam Aly:

Я создал тестовую программу, которая path может использовать оба метода. Это pathing файлы:

Во всех тестовых случаях algorithms Floyd-Warshall был намного algorithm-design медленнее, вероятно, это math из-за очень ограниченного algorithm-design количества ребер, которые path-finding помогают этому алгоритму arithmetic достичь этого.

Это были времена, когда path-finding каждый раз поле увеличивалось path-finding вчетверо, и 3 из 10 полей paths были препятствием.

Size         Hosam Aly      Floyd-Warshall
(10x10)      0m0.002s       0m0.007s     
(20x20)      0m0.009s       0m0.307s
(40x40)      0m0.166s       0m22.052s
(80x80)      0m2.753s       -
(160x160)    0m48.028s      -

Время Хосама pathing Али кажется квадратичным, поэтому arithmetic я бы рекомендовал использовать algorithm-design этот алгоритм. Кроме того, потребление mathematics памяти Floyd-Warshall составляет mathematical n 2 , что явно больше, чем math необходимо. Если вы понимаете, почему distance Floyd-Warshall так медлителен, оставьте mathematical комментарий или отредактируйте arithmetic это сообщение.

PS: Я давно filepath не писал C или C++, надеюсь, я algorithm-design не сделал слишком много ошибок.

algorithm

math

path

distance

path-finding

2022-02-04T08:38:22+00:00