Utilizarea și programarea calculatoarelor 2 - Laborator 9

Exerciții scurte

Pentru execrițiile de mai jos puteți folosi ca punct de plecare arborele construit la laboratorul anterior.

Scrieți un program care numără nodurile dintr-un arbore binar.

Scrieți un program care afișează fiecare nod dintr-un arbore, împreună cu adâncimea la care se află:

Scrieți o funcție care determină dacă un arbore binar e echilibrat sau nu. Un arbore binar se numește echilibrat dacă este fie vid, fie cei doi subarbori ai săi sunt echilibrați și diferența între adâncimile lor e cel mult 1.

Problemă

Tipăriți în mod grafic arborele binar construit la laboratorul trecut, după exemplul din figura următoare (pornind în adâncime de la stânga la dreapta și cu câte un nod pe fiecare linie).
         |-15-|
         |    |    |-21-|
         |    |    |    |    |-26
         |    |    |    |-27-|
         |    |-35-|
         |         |         |-36
         |         |    |-40-|
         |         |-49-|
         |              |    |-59
         |              |-62-|
         |                   |-63-|
         |                        |-72
    |-77-|
-83-|
    |-86-|
         |         |-90
         |    |-92-|
         |-93-
Pentru început, tipăriți fiecare nod precedat de un număr de spații proporțional cu adâncimea.
Opțional, pentru a realiza legăturile (liniile verticale), țineți minte un tablou cu direcția parcursă (stânga sau dreapta) pe fiecare nivel până la nodul curent. Tipăriți un caracter | pe fiecare nivel corespunzând sfârșitului unui segment de direcții identice (de exemplu, pe linia cu nodul 59, parcurs cu LLRRRL se trag bare după 2 nivele, apoi încă 3, apoi încă unul.
Marius Minea
Last modified: Mon Apr 26 07:40:24 EEST 2004