在这本书The design and analysis of spatial data structures P.56 中提到,点四叉树删除(沙美H.)
一旦组候选节点的发现,一个学尝试以发现“最佳”人选,这成为替代节点。选择最佳候选人有两个标准。标准1规定,比其他任何候选人的论文轴线的同一侧接近它的每一个毗邻轴的,如果这样的候选对象存在
我是想实现这个候选人的选择,但不能真的弄清楚这个算法应该如何工作。 我开始非常简单,创建了两个排序列表,一个按x中的差异排序,另一个按y中的差异排序,如果两个对象相同,则此对象/点将是我的结果。如果不是,那么我要么没有候选人,要么可能是2,这是我卡住的地方!
另一个计算策略是某种奇怪的,但我仍然会显示伪代码,也许有人有一个想法
function chooseCandidate(candidate)
clockwiseCandidate = candidate.cQuad(candidate.index) // Index is from 0-3 and cQuad returns (index-1)%4
counterClockwiseCandidate = candidate.ccQuad(candidate.index)
if candidate.x < ccCandidate.x:
possibleWinner = candidate
else if candidate.y < cCandidate.y:
possibleWinner = candidate
等等,这是不是一个真正的解决办法只是一个mindgame从我... 所以我的问题是,有人可以解释这个问题是什么?或者我可以如何解决这个问题? (请注意,一个完整的描述在上面的链接中给出)
为什么担心当你有四页后的解决方案? –
请参考您认为解决方案是什么?我只看到“J < - ”最佳“替换节点P; – greedsin
对不起,你是对的,代码是不完整的 –