Spec-Zone.ru › Haskell 7

Data.Tree

Авторские права (c) Университет Глазго 2002
Лицензия BSD-стиль (см. файл libraries/base/LICENSE)
Поддержка libraries@haskell.org
Стабильность экспериментальная
Переносимость переносимый
Безопасный Haskell Надёжный
Язык Haskell98

Содержание

  • Двумерное рисование
  • Извлечение
  • Построение деревьев

Описание

Деревья с произвольным числом ветвей (также деревья Розы) и леса.

data Дерево a Исходный код

Деревья с произвольным числом ветвей, также известные как деревья Розы.

Конструкторы

Узел

Поля

меткаКорня :: a

значение метки

подЛес :: Лес 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API