我正在努力思考分治算法如何适用于大于 2 的维度,特别是如何找到两个子问题之间最接近的点对。
我知道我只需要考虑轴上d
两者之间的距离内的点。x
我知道在 3d 案例中,我需要将每个点与其他 15 个点进行比较。
我不明白的是如何选择这15个点。在 2d 情况下,只需按值对值进行排序y
并按顺序遍历它们。y
然而,在 3d 情况下,每个点都需要与和 z
轴上最接近它的 15 个点进行比较。我似乎无法找到一种方法来确定这 15 点是什么,而不会出现最坏的情况O(n^2)
......
我在这里想念什么?