use*_*952 3 c++ tree kdtree median tree-balancing
因此,在平衡KD树时,您应该找到中位数,然后将所有较少的元素放在左子树上,而将更大的元素放在右侧.但是如果你有多个与中位数具有相同价值的元素,会发生什么?他们是左边的子树,右边还是丢弃它们?
我问,因为我尝试过多次操作,它会影响我最近邻搜索算法的结果,并且在某些情况下,树的给定部分的所有元素都将具有完全相同的值,因此我不这样做知道在这种情况下如何拆分它们.
Ano*_*sse 5
你把它们放在哪里并不重要.最好保持树木平衡.因此,尽可能多地放置在左侧以保持最佳平衡!
如果您当前的搜索范围接触到中位数,则必须检查另一部分,这是您在另一侧处理绑定对象所需的全部内容.这通常比在任何地方附加多个元素的一些复杂处理便宜.
归档时间:
13 年 前
查看次数:
2551 次
最近记录:
11 年,7 月 前