Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -0,0 +1,46 @@
tree: [1 [2 [4 [7 [] []] []] [5 [] []]] [3 [6 [8 [] []] [9 [] []]] []]]
; "compacted" version
tree: [1 [2 [4 [7 ] ] [5 ]] [3 [6 [8 ] [9 ]] ]]
visit: func [tree [block!]][prin rejoin [first tree " "]]
left: :second
right: :third
preorder: func [tree [block!]][
if not empty? tree [visit tree]
attempt [preorder left tree]
attempt [preorder right tree]
]
prin "preorder: " preorder tree
print ""
inorder: func [tree [block!]][
attempt [inorder left tree]
if not empty? tree [visit tree]
attempt [inorder right tree]
]
prin "inorder: " inorder tree
print ""
postorder: func [tree [block!]][
attempt [postorder left tree]
attempt [postorder right tree]
if not empty? tree [visit tree]
]
prin "postorder: " postorder tree
print ""
queue: []
enqueue: func [tree [block!]][append/only queue tree]
dequeue: func [queue [block!]][take queue]
level-order: func [tree [block!]][
clear head queue
queue: enqueue tree
while [not empty? queue] [
tree: dequeue queue
if not empty? tree [visit tree]
attempt [enqueue left tree]
attempt [enqueue right tree]
]
]
prin "level-order: " level-order tree