1.) Prolog: Pridajte ku kazdemu vrcholu v n-arnom strome 2 prirodzene cisla. Prve bude cislo poradia vrcholu pri priechode preorder, druhe pri priechode postorder (zlava).
2.) Prolog: Hladovym algoritmom zostrojte v danom grafe nezavislu mnozinu vrcholov, ktora sa neda zvacsit pridanim vrcholu.
3.) Haskell: V binarnom strome niektore prvky porusuju podmienku usporiadania na binarny vyhladavaci strom. Vydajte zoznam vrcholov, ktore usporiadanie voci svojim predchodcom porusuju a pre kazdy taky vrchol i pocet predchodcov, voci ktorym ho porusuju.
4.) Pre typ:
Kód: Vybrat vše
data HTML a = ELM String [HTML a] | Txt a
a) typy konstruktorov typu HTML
b) funkciu
Kód: Vybrat vše
mapHTML::(a->b)->HTML a->HTML b
5.) Popiste unifikacny algoritmus.
Velky priklad:
Prioritni ekvivalence
Je dan seznam pozadavku na dvojici prvku z nejake mnoziny. Kazdy pozadavek je bud rovnost nebo nerovnost a ma danou prioritu. Prvky, pro ktere je pozadovana rovnost, maji patrit do ruznych trid. Najdete tridy ekvivalence prvku tak, aby bylo od nejvyssi priority splneno co nejvic pozadavku, t.j. splneni pozadavku nizsi priority nesmi porusit pozadavky vyssi priority. V pripade konfliktu mezi rovnosti a nerovnosti (prvku z) trid se stejnou prioritou ma prednost rovnost. Vydejte vysledne tridy, pozadavky, ktere se podarilo splnit a nejvyssi prioritu, pri ktere nastal konflikt. Splnujte i pozadavky s nizsi prioritou, nez nastal konflikt, pokud je splnit lze.