Lab05 - Binární strom

Implementujte dodané interfaces Tree a Node třídami TreeImpl a NodeImpl. Třída TreeImpl musí obsahovat defaultní konstruktor (bez parametrů). Metody a proměnné pojmenovávejte anglicky. Nepoužívejte javovské kolekce; potřebujete pouze pole, které dostanete jako parametr setTree. Rozhranní Tree a Node neupravujte. K implementaci využijte šablonu hw5_template.zip.

Implementované třídy TreeImpl a NodeImpl umístěte do balíčku cz.cvut.fel.pjv.impl.

Tree reprezentuje binární strom, který ve všech uzlech obsahuje celočíselná data. Každý uzel stromu je reprezentován třídou implementující interface Node. Tree obsahuje následující metody:

- 4
 - 2
  - 1
  - 3
 - 6
  - 5
  - 7

Cílem není implementovat binární vyhledávací strom; na samotných hodnotách tedy nezáleží, pouze na jejich pořadí ve vstupním poli!

Ukázka výstupu metody toString pro stromy vytvořené z posloupností [1], [1, 2], … , [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

- 1

- 2
 - 1

- 2
 - 1
 - 3

- 3
 - 2
  - 1
 - 4

- 3
 - 2
  - 1
 - 5
  - 4

- 4
 - 2
  - 1
  - 3
 - 6
  - 5

- 4
 - 2
  - 1
  - 3
 - 6
  - 5
  - 7

- 5
 - 3
  - 2
   - 1
  - 4
 - 7
  - 6
  - 8

- 5
 - 3
  - 2
   - 1
  - 4
 - 8
  - 7
   - 6
  - 9

- 6
 - 3
  - 2
   - 1
  - 5
   - 4
 - 9
  - 8
   - 7
  - 10

Odevzdávejte následující soubory: NodeImpl.java, TreeImpl.java