List1包含大量 (~7^10) 的 N 维点 (N <=10),List2包含相同或更少数量的 N 维点 (N <=10)。
我的任务是:对于 List1 中的每个点,我想检查 List2 中的哪个点最接近(欧几里德距离) List1 中的一个点,然后对其执行一些操作。我一直在做简单的嵌套循环方式,当我在 List1 中没有超过 50 个点时,但是有 7^10 个点,这显然会占用很多时间。
最快的方法是什么?计算几何中的任何概念可能会有所帮助?
编辑:我有以下内容,我已经从List2构建了一个 kd-tree ,然后现在我正在对List1中的每个点进行最近邻搜索。现在正如我最初指出的那样,List1有 7^10 个点,因此尽管我节省了每对的蛮力欧几里得距离方法,但List1中的大量点导致了大量的时间消耗。有什么办法可以改善吗?