假设我在二维空间中有一个对象,以及我需要该对象访问的一组点。积分可以随时添加,但不能删除。
我想要的是能够确定下一个最接近我的对象在 O(lg(n)) 时间内的位置,然后去它,然后确定下一个最近的点,等等。
简单的优先级队列对此不起作用,因为对象正在改变位置,因此每次移动时都需要重新排列队列。我在想象以某种方式将这些点排序为 BST,但我不确定如何对 (x, y) 进行排序,或者是否有可能。
这感觉就像我可能在不知不觉中试图解决旅行推销员一样,如果是这样,我道歉哈哈。
假设我在二维空间中有一个对象,以及我需要该对象访问的一组点。积分可以随时添加,但不能删除。
我想要的是能够确定下一个最接近我的对象在 O(lg(n)) 时间内的位置,然后去它,然后确定下一个最近的点,等等。
简单的优先级队列对此不起作用,因为对象正在改变位置,因此每次移动时都需要重新排列队列。我在想象以某种方式将这些点排序为 BST,但我不确定如何对 (x, y) 进行排序,或者是否有可能。
这感觉就像我可能在不知不觉中试图解决旅行推销员一样,如果是这样,我道歉哈哈。