Здравствуйте, AndrewVK, Вы писали:
S>>Для получения всех взаимопересечений поддиапазонов есть GetIntersections(), если не оно — подумаю позже (вечер, влом уже).
AVK>Посмотри по последней ссылке, там более полное объяснение требований.
Я посмотрел — оно и есть по-моему.
Результаты
вот тут.
AVK>Ну и мой алгоритм (он основан на том что Коля предложилАвтор: Кодт
Дата: 23.02.14
) вроде бы покороче, не?
Я в него пока не вьехал (и не пытался мозг уже всё), но по-моему он не будет работать с произвольными типами границ.
Ну и твой O(n^2) (если я нигде не протупил) против моего варианта (O(n*log(n)) и +log(n) по памяти) тож как-то не ок. Но это уже десятый-сотый вопрос, сначала надо с поведением определиться, а затем уже код ускорять.
А то некоторые требования (например, разрешать кучу одинаковых диапазонов с разными ключами и не учитывать порядок ключей при сравнении) здорово по производительности бьют и ничего с этим не сделаешь.