I'm on an odyssey to find a good tree structure to store and update my application data.
- The data are positions in 3 dimensions (x, y, z)
- They need to be able to be updated and queried by range quickly (every 30 milliseconds). The queries would be, for example: "get all the points around (2,3,4) in a radius of 100cm"
- The data is always in internal memory.
Could someone of you recommend me a good type of tree that meets these requirements?
The KD-Trees wouldn't work for me because they are not made to be updated at this speed. I should rebuild them whole on every update. BKD-Trees wouldn't work for me either because they are made to store data on disk (not in internal memory). Apparently the R-Trees are also designed to store the data in the leaves.