我需要以有效的方式存储自定义点对象(提供getX()和getY())来执行范围查询。所以我一直在寻找四叉树,kd树或类似的模板化实现。例如:https://code.google.com/p/kche-tree/(但这似乎只适用于原始类型......?)
有建议吗?或者我需要自己实施吗? (需要开源许可证)
谢谢!
答案 0 :(得分:1)
尝试使用提升。 Boost通常都是非常好的C ++库。
Boost Geometry和R-tree有最近邻搜索。
答案 1 :(得分:0)
查看https://compilr.com/cobalthex/quadtree/main.cpp 这也是我正在寻找的。我想代码是opensource,你可以重用和修改它。
您只需要Quadtree.h和Quadtree.cpp。将XY点修改为您认为适合您使用的结构。
希望这有帮助!