Вопрос
Каковы преимущества использования древовидной структуры на управляемом языке или фреймворке по сравнению с плоскими структурами, предоставляемыми указанным языком или фреймворком, иначе говоря .NET, и существуют ли какие-либо библиотеки для такой структуры?
Решение
Преимущества те же, что и у древовидной структуры на любом языке.Взгляните на статью в Википедии о сбалансированные деревья двоичного поиска.Сбалансированные деревья дают вам логарифмическое время вставки и доступа, а также сохраняют сортировку элементов.
Наиболее часто используемое применение древовидных структур — для отсортированных карт и наборов.В .NET взгляните на Сортированный словарь, который использует сбалансированное дерево поиска.
Я предполагаю, что вы говорите именно об этом, потому что это самый распространенный вид деревьев в мире прикладных программистов, но деревья используются для самых разных целей в информатике.Взгляните на более общую статью о древовидные структуры данных если вы хотите больше об этом.
Другие советы
Какой длины кусок веревки?
Сравнительные преимущества деревьев перед другими структурами данных зависят от типа данных, которые вы храните, и типов операций, которые вы планируете выполнять над данными.
(Кстати, пребывание в управляемой среде не имеет к этому никакого отношения.)
Вам придется указать гораздо больше деталей, если вы хотите получить более разумный ответ.
Альтернативно, вы можете пройти начальный курс «Алгоритмы и структуры данных» и изучить основы.
Дерево - это идеальная структура данных для управления иерархически организованной информацией.Это верно для любого языка, который вы используете.
Вот лишь небольшая выборка из множества приложений древовидной структуры данных:
- Поиск в отсортированном наборе (взгляните на Бинарное Дерево поиска)
- Синтаксис синтаксический анализ (взгляните на Синтаксический анализ Дерева)
- Представляющая структуру исходного кода (взгляните на Аннотация Синтаксическое дерево)
- Хранение словарей (взгляните на Попробуй)