Задать вопрос
@MPetukhov

Алгоритм сортировки массива точек в трехмерном пространстве относительно заданной?

Приветствую!
Существует ли быстрый алгоритм сортировки массива точек в трехмерном пространстве относительно заданной?

Дано:
Точка (x, y, z)
Массив точек с координатами

Задача отсортировать массив по возрастанию расстояния от Точки.

Добавил:
Будет ли сортировка по AB = |xb - xa| + |yb - ya| + |zb - za| верной?
  • Вопрос задан
  • 3893 просмотра
Подписаться 3 Оценить 1 комментарий
Решения вопроса 1
@throughtheether
human after all
Существует ли быстрый алгоритм сортировки массива точек в трехмерном пространстве относительно заданной?
Я не знаю, что вы подразумеваете под словом "быстрый", но мои соображения таковы:
1) определить расстояние от каждой из n точек до заданной - O(n) (даже Θ(n)). Я не вижу здесь потенциала для фундаментального улучшения.
2) отсортировать массив - O(n*logn) в лучшем случае.
Итого - O(n)+O(n*logn)=O(n*logn).

Другое дело, что если входные данные имеют специфическую структуру, то можно, при соответствующем подходе, понизить (или попытаться понизить) "константы" O-нотации и соответственно время выполнения.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Вычисляете расстояние до каждой точки и сортируете, как Вам угодно. Ничего сложного
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы