Есть ли умный способ реализовать эквивалент CeilingEntry Java TreeMap в C # SortedDictionary, в O (logn)?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Есть ли умный способ реализовать эквивалент CeilingEntry Java TreeMap в C # SortedDictionary, в O (logn)?

Сообщение Anonymous »

Вы можете встретить похожие вопросы по этой теме — например, этот и этот.
Основная причина, по которой я хочу использовать SortedDictionary, — это наличие функций поиска и вставки в O(log n ) — лучший случай сложности сбалансированного двоичного дерева поиска. Интересующий меня вариант использования поиска - это когда искомый ключ не найден, т. е. когда мы хотим найти элемент, который больше или меньше искомого элемента (например, CeilingEntry и FloorEntry в Java) - это должно быть выполнимо в O(log n), поскольку базовая структура данных это позволяет.
Предыдущие ответы предлагают некоторую форму использования SortedDictionary.Keys, но проблема в том, что мы не можем выполнить встроенный BinarySearch для класса SortedDictionary.KeyCollection. Предлагается обходной путь: преобразовать ключи в список, а затем использовать BinarySearch и найти индекс apt, но преобразование в список приведет к поражению цели, поскольку это операция O(n).
У меня была идея использовать GetEnumerator класса KeyCollection для прямого выполнения бинарного поиска, но я считаю, что это очень некрасиво.

Подробнее здесь: https://stackoverflow.com/questions/783 ... eemap-in-c
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • [TreeMap]: создайте и загрузите TreeMap в одном классе и доступ к этому TMAP из нескольких отдельных / разных классов
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Сортировать SortedDictionary по значению
    Anonymous » » в форуме C#
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Проблема с SortedDictionary в C# 11 с .NET 4.8/глобализация
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Проблема с SortedDictionary в C# 11 с .NET 4.8/глобализация
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как исправить тайм-аут моего алгоритма, когда он уже N*LogN?
    Anonymous » » в форуме C++
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»