Всем привет. Собственно, задача в создании никоего map'а, для хранения key, value, но соль в том, что key это некий промежуток значений, при этом границы могут быть как открытыми, так и закрытыми, тоесть дожно быть что-то навроде
M = [1, 10) -> a
[10, 20) -> b
[20, 30) -> c
соотвественно поиск будет давать следующие результаты:
find(1,M) = a
find(15,M) = b
find(20,M) = c
find(30,M) – EXCEPTION
есть идеи? мне почему-то кажется что здесь напрашиваются деревья, но какие лучше? и как делать поиск? я пока не могу придумать...
всем заранее спасибо.