2010-01-09 77 views

回答

7

那么,它主要取决于你的特定实现和数据集。

平衡性差的树意味着您必须搜索比您需要的更多数据。确保你的树木结构健全。

它也可能取决于你如何找到k个邻居。如果你的算法搜索最近邻居的树并存储它,然后搜索第二个最近的邻居并存储它等,那么你不会非常有效地进行搜索。相反,当您找到更近的遍历树的列表时,请将列表中的k个最近邻居列表和碰撞点列表从列表中移出。这样你搜索一次,而不是k次。

无论哪种方式,这听起来像你这样做的课程。尝试与你的教授,助教或同学交谈,看看你的结果是否典型。

+0

树不平衡是原因。我回顾了我的树构建方法,并且选择了错误的拆分维度。感谢提示:) – Andraz

5

我知道这个问题已经回答了,但在KNN更详细的K-d树搜索,看到宾利(1975:514),在ACM 18(9),九月通信。

+1

链接到本文:http://portal.acm.org/citation.cfm?id=361007 – RandomGuy