Мне нужно хранить пользовательские точечные объекты (предоставляются getX () и getY ()) для эффективного выполнения запросов диапазона. Поэтому я искал шаблонные реализации quadtree, kd-tree или аналогичных. Например, вот так: https://code.google.com/p/kche-tree/ (но это работает только с примитивными типами …?)
Есть предложения? Или я должен был бы осуществить это сам?
(требуется лицензия с открытым исходным кодом)
Спасибо!
Пробовать использовать повышение. Boost обычно довольно хорошие библиотеки C ++.
А также Повысить геометрию имеет и R-дерево для поиска ближайшего соседа.
Проверь это https://compilr.com/cobalthex/quadtree/main.cpp
Это также то, что я ищу. Я предполагаю, что код с открытым исходным кодом, и вы можете использовать его и изменить.
Все, что вам нужно, это Quadtree.h и Quadtree.cpp. Измените точку XY на структуру, которую вы считаете подходящей для вашего использования.
Надеюсь это поможет!