Kd Tree

michael2988 2013-06-06 07:40:29
最近在学习Kd tree。
http://rosettacode.org/wiki/K-d_tree#C
但是上面链接中的程序中好像有错,同一给数据,只是顺序不同,得到的结果不同,而且有一个结果还是错误的。
我的测试数据如下:
输入
{{1, 0, 0}}, {{1, 1, 0}}, {{0, 1, 0}}, {{0, 0, 0}}
结果错误

输入
{{0, 0, 0}}, {{1, 0, 0}}, {{1, 1, 0}}, {{0, 1, 0}}
结果正确

现在猜测可能是find_median()函数出现问题。
求各位大神指点。
...全文
157 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
michael2988 2013-06-07
  • 打赏
  • 举报
回复
现在知道是find_median算法出错了。 大神们有没有高效的查找median的方法。 声明如下:
void find_median(int a[], int size)
执行后只要求median位于正中,并且其左边的所有数小于median,右边的所有数大于或等于median,左右两边是否有序无所谓。
michael2988 2013-06-06
  • 打赏
  • 举报
回复
000 010 100 110 错误结果为以上的二叉树
logiciel 2013-06-06
  • 打赏
  • 举报
回复
对于你的测试数据 {{1, 0, 0}}, {{1, 1, 0}}, {{0, 1, 0}}, {{0, 0, 0}} 你搜索什么数据后得到什么错误结果? 我试搜索{{0, 2, 0}},得到: >> WP tree searching for (0, 2) found (0, 1) dist 1 seen 2 nodes

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧