#data-structures #tree #nodes
Вопрос:
Классическое дерево имеет один корневой узел. Пример:
Есть ли дерево с несколькими начальными корнями, как на картинке?:
Комментарии:
1. Если бы вы разделили деревья (без краев между корнями), это называлось бы лесом .
2. Этот второй пример сбивает с толку: это ориентированный граф или нет? Края между «корнями» не направлены, а другие края?
3. Такая структура существует, вы ее рисуете. Как сказал @JoeSewell, эта структура называется лесом. Существует теорема о том, что любой лес топологически эквивалентен двоичному дереву.
Ответ №1:
Как отметил в комментариях @Joe Сьюэлл, коллекция независимых деревьев называется лесом. Этот термин применим как к коллекциям направленных корневых деревьев, подобных тому, что вы показали выше, так и к коллекциям неориентированных, некорневых деревьев.
Многие структуры данных и алгоритмы используют леса. Структуры данных биномиальной кучи и кучи Фибоначчи хранят свои элементы в коллекции небольших независимых деревьев. Деревья ссылок/вырезов, которые используются в некоторых алгоритмах максимального потока, также работают с независимыми коллекциями деревьев.