64 lines
2.3 KiB
Plaintext
64 lines
2.3 KiB
Plaintext
структура узел
|
|
данные левая-ветвь правая-ветвь
|
|
#:суффикс -узла
|
|
|
|
лист значение =
|
|
узел значение ложь ложь
|
|
|
|
дерево =
|
|
узел 1
|
|
узел 2
|
|
узел 4
|
|
лист 7
|
|
ложь
|
|
лист 5
|
|
узел 3
|
|
узел 6
|
|
лист 8
|
|
лист 9
|
|
ложь
|
|
|
|
прямой дерево действие =
|
|
если дерево тогда
|
|
действие данные-узла(дерево)
|
|
прямой левая-ветвь-узла(дерево) действие
|
|
прямой правая-ветвь-узла(дерево) действие
|
|
|
|
центрированный дерево действие =
|
|
если дерево тогда
|
|
центрированный левая-ветвь-узла(дерево) действие
|
|
действие данные-узла(дерево)
|
|
центрированный правая-ветвь-узла(дерево) действие
|
|
|
|
обратный дерево действие =
|
|
если дерево тогда
|
|
обратный левая-ветвь-узла(дерево) действие
|
|
обратный правая-ветвь-узла(дерево) действие
|
|
действие данные-узла(дерево)
|
|
|
|
поуровневый дерево действие =
|
|
пусть цикл
|
|
деревья список(дерево)
|
|
если не пустой?(деревья) тогда
|
|
цикл
|
|
применить добавить
|
|
цикл/список
|
|
для
|
|
дерево деревья
|
|
#:когда дерево
|
|
действие данные-узла(дерево)
|
|
список левая-ветвь-узла(дерево) правая-ветвь-узла(дерево)
|
|
|
|
запуск имя обход =
|
|
вывести имя
|
|
обход дерево
|
|
функция (данные)
|
|
вывести « »
|
|
вывести данные
|
|
вывести/перенос «»
|
|
|
|
запуск «preorder: » прямой
|
|
запуск «inorder: » центрированный
|
|
запуск «postorder: » обратный
|
|
запуск «level-order: » поуровневый
|