O caminho certo para usar uma estrutura de dados no OCaml
Ok, eu escrevi umbinary search tree
no OCaml.
type 'a bstree =
|Node of 'a * 'a bstree * 'a bstree
|Leaf
let rec insert x = function
|Leaf -> Node (x, Leaf, Leaf)
|Node (y, left, right) as node ->
if x < y then
Node (y, insert x left, right)
else if x > y then
Node (y, left, insert x right)
else
node
Eu acho que o código acima não tem problemas.
Ao usá-lo, escrevo
let root = insert 4 Leaf
let root = insert 5 root
...
É este o caminho correto parause/insert
para a árvore?
Quer dizer, eu acho que não devo declarar a raiz e toda vez que eu mudar novamente o valor da raiz da variável, certo?
Se sim, como posso sempre manter uma raiz e inserir um valor na árvore a qualquer momento?