Я занимаюсь чисткой на моем B-Tree и дереве 2-3-4 (дерево B с порядком 4), и я пытаюсь реализовать это на C#. Мой вопрос к вам, учитывая, что узел B-Tree может содержать N-1 количество элементов и N поддеревьев, каково типичное представление для одного из этих узлов? Это массив, серия связанных списков или что-то, что я не рассматривал?Как обычно представлены узлы дерева B?
ответ
Для дерева 2-3-4 это не имеет большого значения. Для больших заказов вы должны использовать отсортированный массив и бинарный поиск. Для ключей с переменным размером, таких как Strings, trie может быть хорошей идеей.
Here's an interesting article on MSDN о создании двоичного дерева поиска в C#. Не совсем то же самое, что и b-tree, но вы можете найти это полезным. Автор в этом случае использует общий базовый класс коллекции:
public class Node<T>
{
private T data;
private NodeList<T> neighbors = null;
...
}
public class NodeList<T> : Collection<Node<T>> { ... }
binary-tree! = B-Tree –
Да, вот почему у меня в теле моего поста (второе предложение): «Не совсем то же самое как b-дерево, но вы можете найти это полезным ». Идея заключается в том, что базовый тип для коллекции - это просто Collection
Не пытайтесь комбинировать поддеревья и предметы. Вам понадобятся массивы или список <>.
Если ваш заказ исправлен, я бы использовал 2 массива. В противном случае, a List<ItemClass>
и a List<SubTree>
- 1. B + размер узла дерева
- 2. Как выделить узлы дерева
- 3. распределенной сеть B + дерева
- 4. Как правильно настроить узлы дерева дерева JS?
- 5. Показать связи узлы b/w в графе дерева D3
- 6. двоичного дерева представлены с использованием массива
- 7. Java - узлы дерева дерева на JPanel
- 8. Map-Navigation Project, Как обычно хранятся/представлены данные о дорогах?
- 9. Как перебирать все узлы дерева?
- 10. сравнить узлы двоичного дерева
- 11. Узлы выделения дерева GXT
- 12. Как решить порядок дерева b
- 13. Как вычислить глубину B-дерева?
- 14. Получить узлы из дерева
- 15. Сравнивая узлы дерева
- 16. Расширяющиеся узлы дерева
- 17. Mysql B + Реализация дерева
- 18. Создание B-дерева
- 19. Максимальная глубина B-дерева
- 20. разделение корня дерева B +
- 21. полная реализация b + дерева
- 22. Как обменять узлы дерева, обмен ссылками?
- 23. Реализация дерева B +
- 24. Реализация дерева PostgreSQL B +
- 25. Алгоритм для рисования b-дерева
- 26. Что такое узлы (b-сплайн)
- 27. В структуре данных дерева, узлы дерева отображения на уровне
- 28. редактируемые узлы дерева - не работает
- 29. Уникально числовые узлы двоичного дерева
- 30. Сохранить узлы из дерева просмотров
так что в случае, когда N равно 2, может быть _one_ поддерево? это обычно называется списком, а не деревом :) –
Rune FS: Fixed :) –