Ciele
- Rekurzívny typ: Prirodzené čísla
- Rekurzívny typ: Zoznam
- Rekurzívny typ: Binárny vyhľadávací strom
Postup
Krok 1
Úloha 1.1
Zadefinujte nový rekurzívny typ $Nat$ pre prirodzené čísla ako variantový typ.
Úloha 1.2
Definujte hodnotu nula typu $Nat$.
Úloha 1.3
Definujte operáciu nasledovníka.
Úloha 1.4
Definujte operácie $pred$ a $iszero$.
Krok 2
Rekurzívny typ: Zoznam prirodzených čísel
Zoznam
Úloha 2.1
Zadefinujte nový rekurzívny typ $ListNat$ pre zoznam prirodzených čísel ako:
- Súčtový typ.
- Variantový typ.
Úloha 2.2
Definujte hodnotu pre prázdny zoznam.
Úloha 2.3
Definujte operáciu konštruktora zoznamu.
Úloha 2.4
Definujte operácie $head, tail$ a $isnil$.
Krok 3
Rekurzívny typ: Binárny strom
Úloha 3.1
Zadefinujte nový rekurzívny typ $Tree$ pre binárny strom ako:
- Súčtový typ.
- Variantový typ.
Úloha 3.2
Zadefinujte novu hodnotu pre prázdny strom.
Úloha 3.3
Zadefinujte novu hodnotu pre uzol stromu.
Úloha 3.4
Zadefinujte uzol stromu.
Úloha 3.5
Zadefinujte operácie $insert, search, inorder, preorder, postorder$ a $height$.