R-Tree实现Java

dra*_*ame 14 java algorithm interval-tree r-tree data-structures

我正在寻找一个稳定的实现R树与支持无限尺寸(20左右就足够了)的最后几天.我只找到了这个http://sourceforge.net/projects/jsi/,但它们只支持2个维度.

另一个选项是区间树的多维实现.

也许我完全错误地使用了R-Tree或Intervall-tree来解决我的问题,所以我简单地说明了问题,你可以把你的想法发给我.

我需要解决的问题是某种最近邻搜索.我有一套天线和房间,每个天线有一个整数间隔.例如天线1,最小-92,最大-85.实际上它可以表示为房间 - >天线组 - >天线间隔.这个想法是每个房间在天线的尺寸上跨越R树中的一个盒子,并且在每个维度上跨越间隔.

如果我得到N-Antennas的查询和每个天线的值,那么我可以将信息表示为房间中的查询点并检索"最接近"点的房间.

希望你对问题和我的想法有所了解.

bti*_*lly 3

我不完全清楚你的确切问题是什么,但 R 树或区间树在 20 维中不能很好地工作。这并不是一个巨大的维度,但它足够大,足以让维度灾难开始显现。

为了明白我的意思,考虑一下尝试查看一个盒子的所有邻居,包括那些远离角落和边缘的邻居。如果有 20 个维度,您将拥有 3 20 - 1 或 3,486,784,400 个相邻盒子。(您可以通过认识到沿每个轴的邻居可以是 -1 单位、0 单位或 +1 单位来得到这一点,但 (0,0,0) 不是邻居,因为它代表原始框。)

抱歉,您要么需要接受强力搜索,要么更好地分析您的问题并提出更聪明的解决方案。