Скажем, у меня есть структура данных двоичного дерева, определенная следующим образом
type 'a tree =
| Node of 'a tree * 'a * 'a tree
| Nil
У меня есть экземпляр дерева следующим образом:
let x =
Node
(Node (Node (Nil,35,Node (Nil,40,Nil)),48,Node (Nil,52,Node (Nil,53,Nil))),
80,Node (Node (Nil,82,Node (Nil,83,Nil)),92,Node (Nil,98,Nil)))
Я пытаюсь красиво напечатать дерево во что-то легкое для интерпретации. Предпочтительно, я хотел бы напечатать дерево в окне консоли следующим образом:
_______ 80 _______
/ \
_ 48 _ _ 92 _
/ \ / \
35 52 82 98
\ \ /
40 53 83
Какой простой способ получить мое дерево для вывода в этом формате?