Data.Tree
| Авторские права | (c) Университет Глазго 2002 |
|---|---|
| Лицензия | BSD-стиль (см. файл libraries/base/LICENSE) |
| Поддержка | libraries@haskell.org |
| Стабильность | экспериментальная |
| Переносимость | переносимый |
| Безопасный Haskell | Надёжный |
| Язык | Haskell98 |
Содержание
Описание
Деревья с произвольным числом ветвей (также деревья Розы) и леса.
data Дерево a Исходный код
Деревья с произвольным числом ветвей, также известные как деревья Розы.
Конструкторы
| Узел | |
Поля
| |
Примеры
| Моноид Дерево | |
| Функтор Дерево | |
| Применимый Дерево | |
| Складываемый Дерево | |
| Проходимый Дерево | |
| Равенство a => Равенство (Дерево a) | |
| Данные a => Данные (Дерево a) | |
| Чтение a => Чтение (Дерево a) | |
| Отображение a => Отображение (Дерево a) | |
| NFData a => NFData (Дерево a) |
type Лес a = [Дерево a] Исходный код
Двумерное рисование
нарисоватьДерево :: Дерево Строка -> Строка Исходный код
Аккуратное двумерное изображение дерева.
нарисоватьЛес :: Лес Строка -> Строка Исходный код
Аккуратное двумерное изображение леса.
Извлечение
распаковать :: Дерево a -> [a] Исходный код
Элементы дерева в прямом порядке.
уровни :: Дерево a -> [[a]] Исходный код
Список узлов на каждом уровне дерева.
Построение деревьев
разворачиватьДерево :: (b -> (a, [b])) -> b -> Дерево a Исходный код
Построение дерева из начального значения
разворачиватьЛес :: (b -> (a, [b])) -> [b] -> Лес a Исходный код
Построение леса из списка начальных значений
разворачиватьДеревоM :: Моноид m => (b -> m (a, [b])) -> b -> m (Дерево a) Исходный код
Построение дерева в режиме моноида, по глубине
разворачиватьЛесM :: Моноид m => (b -> m (a, [b])) -> [b] -> m (Лес a) Исходный код
Построение леса в режиме моноида, по глубине
разворачиватьДеревоM_BF :: Моноид m => (b -> m (a, [b])) -> b -> m (Дерево a) Исходный код
Построение дерева в режиме моноида по ширине, используя алгоритм, адаптированный из Breadth-First Numbering: Lessons from a Small Exercise in Algorithm Design, Крис Окасаки, ICFP'00.
разворачиватьЛесM_BF :: Моноид m => (b -> m (a, [b])) -> [b] -> m (Лес a) Исходный код
Построение леса в режиме моноида по ширине, используя алгоритм, адаптированный из Breadth-First Numbering: Lessons from a Small Exercise in Algorithm Design, Крис Окасаки, ICFP'00.
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/containers-0.5.6.2/Data-Tree.html