N个点,求距离最近的两个点---分治策略(1)_Happy_Traveller的博客-CSDN博客介绍了N个点,求距离最近的两个点的分治策略的算法,可以将直觉上的复杂度优化到,这其实已经是很大的改进了,那么有没有办法进一步改进那?
不难发现,每次递归调用都需要重新进行X、Y的排序,这个需要的时间,如果能够在循环之外做一次排序,然后在程序内部,通过类似查表的方式,得到X、Y的排序那?答案是肯定的。
查表的方式时间时间复杂度是
这样整个计算由两部分组成,预处理的时间,递归计算的时间
那么有: