Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Есть ли реализация двоичного дерева поиска в .NET 4?

Автор вопроса: MicahОтветов: 5

Я ищу встроенную реализацию двоичного дерева поиска в .NET 4. Есть ли она?

data-structuresbinary-tree

Ответы

Ответ 1 · рейтинг 7 · Henk Holterman

Класс SortedDictionary<K,V> использует дерево, это то, что вам нужно?

См. Этот ответ SO для обсуждения.

Ответ 2 · рейтинг 4 · Steve Townsend

Вы можете использовать SortedDictionary ‹TKey, TValue›

Ответ 3 · рейтинг 2 · pstrjds

Другой вариант - использовать список и отсортировать его. Затем вы можете использовать метод BinarySearch для поиска элементов. Чтобы поддерживать отсортированный список, вы можете использовать индекс, возвращаемый BinarySearch, для вставки в. Если возвращаемый индекс отрицательный, используйте дополнение (оператор ~) в качестве места вставки, если возвращенный индекс положительный, вы можете вставить в это место (если вы не хотите установить подобное поведение, и в этом случае не вставляйте вообще).

Ответ 4 · рейтинг 2 · QrystaL

библиотека C5:

Класс TreeDictionary реализует интерфейс ISortedDictionary и представляет словарь пар (ключ, значение) или записей с использованием упорядоченного сбалансированного двоичного дерева красного и черного цвета. Доступ к записи, удаление записи и вставка записи занимают время O (вход в систему). Перечисление ключей, значений или записей древовидного словаря следует за порядком ключей, определяемым компаратором ключей.

Ответ 5 · ros

http://code.google.com/p/self-balancing-avl-tree/. Сбалансированная реализация дерева AVL с операциями объединения и разделения, а также SortedDictinary и SortedMultiDictionary на основе дерева AVL.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы