Potrzebuje wydajnej struktury danych do przeszukiwania rangeów (zakresów).
Tzn przechwouje w kontenerze zakresy powiedzmy [0;1], [2,4] i taki kontener ma mi powiedzieć do którego zakresu należy liczba 3. Zakresy są dyskretne i rozłączne.
Zwykłe drzewa poszukiwań można zmodyfikować, żeby wstawiały i wyszukiwały takie zakresy w czasie O(log n). Ale w mojej aplikacji sytuacja wygląda tak, że wstawianie powinno być bardzo wydajne (najlepiej O(1)). Operacja wyszukiwania jest robiona dosyć rzadko, ale na taką operacje składa się wyszukiwanie wielu liczb. Najprostsze rozwiązanie to stworzyć zwykły wektor. Przed operacją wyszukiwania posortować go i użyć szukania binarnego. Drzewa BST raczej odpadają ze względu na zbyt długi czas wstawiania.
Ktoś coś wie o jakimś algorytmie/strukturze danych która była by bardziej wydajna? Może jakaś modyfikacja HashMapy (odpowiednia funkcja haszująca?) lub połączenie kilku struktur danych?