-
Vytvořte funkci, která zjistí počet uzlů ve stromu. Uvažujte různé varianty stromů a
ukažte, v čem se pro ně jednotlivá řešení liší.
-
Realizujte funkci traverse() jako metodu uzlu stromu s neomezeným větvením.
Předpokládejte, že vazba mezi uzlem a jeho následníky je reprezentována a) seznamem
následníků, b) ukazatelem na nejlevějšího následníka a dále ukazateli na pravého souseda.
-
Rozšiřte definici binárního stromu o funkci void iterator(int order), která vrátí iterátor
umožňující průchod všemi uzly stromu v zadaném pořadí.
-
Rozšiřte třídu Expr o metodu int eval(), která vrátí hodnotu výrazu reprezentovaného
konkrétním uzlem a jeho následníky.