2013-06-24 36 views
-1

我需要以有效的方式存储自定义点对象(getX()和getY())来执行范围查询。所以我正在寻找四叉树,kd-tree或类似的模板实现。例如像这样:https://code.google.com/p/kche-tree/(但这似乎只适用于原始类型...?)用于2D范围查询的高效C++模板实现

是否有建议?或者我需要自己实现它? (需要开源许可证)

谢谢!

+0

'(需要开源许可)' - >你有什么确切的要求?开放源码不是免费代码的魔术术语,您可以使用它来满足您的任何需求。有法律限制,它们取决于具体的许可证。 –

+0

@phresnel:麻省理工或GPL都很好(最好按此顺序) –

+0

您是否计划发布您的应用程序?如果是这样,就像GPL许可的那样? –

回答

1

尝试使用增强。 Boost通常是相当不错的C++库。

Boost Geometry具有用于最近邻搜索的R树。

0

看看这个https://compilr.com/cobalthex/quadtree/main.cpp 这也是我在找的。我猜代码是开源的,你可以重用和修改它。

所有你需要的是Quadtree.h和Quadtree.cpp。将XY点修改为您认为适合您使用的结构。

希望这会有所帮助!