对一组点到另一组点距离进行对应近邻排序的算法优化

如果有一组已经给定点x1,x2,...xn,另外有一组点p1,p2,...pn,需要按照他们对应的近邻排序对p1,p2,…pn排序,即排序后begin{equation}|p_ix_i|=min |p_ix_j|end{equation},距离就是平面欧式距离
我现在写的是

for(int i=0; i<matsz; ++i){

        std::swap(res[i],*std::min_element(res.begin()+i,res.end(),
        [&i](std::complex<double> &a, std::complex<double> &b)  
        {return norm(a-pre[i]) < norm(b-pre[i]);}));
        
    }

是否还有更优化的算法?

阅读 2.1k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题