E20: árvores binárias

E20.1  Árvores binárias têm uma relação muito íntima com certas sequências bem-formadas de parênteses. (Por exemplo, ())(() não é bem formada.) Desenhe a sequência de parênteses que representa a árvore da figura. (Dica: represente NULL por ().)

Binary_tree.png

E20.2  Varra a árvore binária abaixo em ordem r-e-d (ou seja, em pré-ordem) e dê a sequência de nós visitados. (A varredura r-e-d também é conhecida como busca em profundidade ou depth-first search.) Repita com ordem e-d-r (pós-ordem)

[arvore binária]

E20.3  Desenhe a árvore binária que representa a expressão aritmética ((a+b)*c-d)/(e-f)+g.

E20.4  Verifique que a varredura e-r-d da árvore de uma expressão aritmética corresponde exatamente à representação infixa da expressão.  Repita com varredura e-d-r e notação posfixa.  Repita com varredura r-e-d e notação prefixa.

E20.5  Escreva uma função que calcule o número de nós de uma árvore binária.