Я изо всех сил пытаюсь обернуть голову тем, как работает алгоритм разделения и покоя для измерений более 2, в частности, как найти ближайшую пару точек между двумя суб- проблемы.Ближайшая пара очков в 3+ измерениях (разделите и покорите)
Я знаю, что мне нужно рассматривать только точки на расстоянии d
деления между двумя на оси x
.
Я знаю, что в 3d-случае мне нужно сравнить каждую точку только с 15 другими.
Я не понимаю, как выбрать эти 15 баллов. В случае 2d один просто сортирует значения по значению y
и проходит через них по порядку. Однако в трехмерном случае каждая точка должна сравниваться с ближайшими к ней 15 точками как на осях y
, так иz
. Кажется, я не могу найти способ определить, что такое 15 баллов, что не имеет худшего случая O(n^2)
...
Что мне здесь не хватает?