I need to solve a neighbor search problem, that is, for every given element, find all neighbor elements within a fixed distance.
I just learnt the data structure range tree, it seems to be able to solve this problem in O(N*(log(N)^(d-1))) complexity where d is dim of space.
I know nothing about R-tree, but just saw this from wikipedia:
A common real-world usage for an R-tree might be to .... then find answers quickly to queries such as "Find all museums within 2 km of my current location",
which seems exactly the problem I want to solve.
So should I learn and use this data structure?