Я ищу хорошую функциональную структуру данных для хранения пространственных (точечных) данных.Структура данных должна позволять простые эпсилон-запросы для уже существующих точек.Также мне нужно изменять данные довольно часто.Это означает, что точки могут перемещаться и должны иметь возможность обновляться в структуре данных.Возможно, это можно сделать с помощью обычного удаления / добавления, но реальное движение может быть быстрее.
Пока я думаю об использовании quad / oct-trees (или выше), посколькуПереместить часть должно быть довольно легко сделать.Тем не менее, как известно, квадранты хуже в плане балансировки. KD-Trees может быть другим выбором, но обновление кажется довольно неприятным.Кроме того, большинство реализаций пространственной структуры данных, которые я могу найти, являются только процедурными, и я использую функциональный язык.