Druhý domácí úkol

Instance třídy Node reprezentuje strom: atribut contents nese hodnotu, atributy left a right ukazují na levý a pravý podstrom aktuálního stromu, případně jsou null, pokud levý resp. pravý podstrom neexistuje. Vaším úkolem je dopsat do třídy Node tyto metody:

  • boolean contains(int value) - vrátí true tehdy a pouze tehdy, pokud je hodnota value obsažena v tomto stromu a
  • void add(int value) - vloží hodnotu value do aktuálního stromu podle následujícího algoritmu: pokud je hodnota v aktuálním uzlu rovná value, nedělá nic, pokud je hodnota v aktuálním uzlu větší než value, vloží value do levého podstromu, pokud je hodnota v aktuálním uzlu menší než value, vloží value do pravého podstromu; pokud levý, resp. pravý podstrom neexistuje, vytvoří ho.

class Node {
    final int contents;
    Node left, right;
 
    Node(int c) {
        contents = c;
    }
    boolean contains(int value) { ... }
    void add(int value) { ... }
}

Odevzdávaný kód (tzn. třídu Node) uložte do svého repozitáře do souboru hw/Assignment2.java. Termín odevzdání je 19. 3. ve 24:00.

~~DISCUSSION:closed~~

courses/b6b36omo/en/hw/02/start.txt · Last modified: 2018/10/03 11:13 (external edit)