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