Вот код, который надо оптимизировать https://jsfiddle.net/Ldtrwvp9/ (смотреть на функцию solve, все что идет до нее - просто подготовка данных) Там алгоритм поиска в ширину ищет минимальную дистанцию от заданной вершины до всех остальных во взвешенном графе, а потом находит среди них максимально удаленную вершину Задача сделать его быстрее, чем он есть сейчас
Хех, забавное наблюдение. Если тестировать сначала решение Дениса, а потом моё, разница составляет порядка 20%. Однако, если запускать в обратном порядке, разница уже в 10 раз. В чём причина, не имею ни малейшего понятия.
Потенциал тут либо в том, чтобы написать алгоритм получше моего, либо хотя бы какие-то места существующего переписать более быстрым образом Вот сейчас поступило предложение for .. of на for заменить с выигрышем около 5мкс
Хех, забавное наблюдение. Если тестировать сначала решение Дениса, а потом моё, разница составляет порядка 20%. Однако, если запускать в обратном порядке, разница уже в 10 раз. В чём причина, не имею ни малейшего понятия.
В 10 раз что? Твое в 10 раз быстрее моего? За 3мкс решает?
Конкретные микросекунды уже от оборудования зависят и раз на раз не приходятся, но на втором скрине avg у меня 32 мкс, у тебя 215. Это какое-то очень странное поведение, такого быть в принципе не должно.
Вот код, который надо оптимизировать https://jsfiddle.net/Ldtrwvp9/ (смотреть на функцию solve, все что идет до нее - просто подготовка данных) Там алгоритм поиска в ширину ищет минимальную дистанцию от заданной вершины до всех остальных во взвешенном графе, а потом находит среди них максимально удаленную вершину Задача сделать его быстрее, чем он есть сейчас