41 lines
829 B
Text
41 lines
829 B
Text
(
|
|
( tree
|
|
= 1
|
|
. (2.(4.7.) (5.))
|
|
(3.6.(8.) (9.))
|
|
)
|
|
& ( preorder
|
|
= K sub
|
|
. !arg:(?K.?sub) ?arg
|
|
& !K preorder$!sub preorder$!arg
|
|
|
|
|
)
|
|
& out$("preorder: " preorder$!tree)
|
|
& ( inorder
|
|
= K lhs rhs
|
|
. !arg:(?K.?sub) ?arg
|
|
& ( !sub:%?lhs ?rhs
|
|
& inorder$!lhs !K inorder$!rhs inorder$!arg
|
|
| !K
|
|
)
|
|
)
|
|
& out$("inorder: " inorder$!tree)
|
|
& ( postorder
|
|
= K sub
|
|
. !arg:(?K.?sub) ?arg
|
|
& postorder$!sub !K postorder$!arg
|
|
|
|
|
)
|
|
& out$("postorder: " postorder$!tree)
|
|
& ( levelorder
|
|
= todo tree sub
|
|
. !arg:(.)&
|
|
| !arg:(?tree.?todo)
|
|
& ( !tree:(?K.?sub) ?tree
|
|
& !K levelorder$(!tree.!todo !sub)
|
|
| levelorder$(!todo.)
|
|
)
|
|
)
|
|
& out$("level-order:" levelorder$(!tree.))
|
|
&
|
|
)
|