Informatika2-2021/Sz¼tGyak11
Tartalomjegyzék |
Feladatok
Rekurzív
deep_sum
Írjunk egy rekurzív függvényt, aminek bemenete egy olyan lista, mely listákat tartalmaz tetszőleges mélységig, melyekben pozitív egész számok vannak.
A függvény adja vissza a listában lévő számok összegét.
Pl.:
[1, 2, 3, [4, 5], [[[6], 7]]] -> 28
palindrom
Írjunk egy rekurzív függvényt, ami eldönti egy stringről, hogy palindrom-e vagy sem.
Pl.:
aba -> True
abb -> False
pattern
Írjunk egy rekurzív függvényt, melynek bemenete egy 5-tel osztható n egész szám, és kiprinteli a következő számsorozatot:
n, n-5, n-10, ..., 0, 5, 10, ..., n-5, n,
A megoldáshoz ne használjunk se listát, se for ciklust, se whilet.
pl.:
15, 10, 5, 0, 5, 10, 15,
Determináns
Írjunk egy rekurzív függvényt, aminek bemenete egy négyzetes mátrix és a kimenete a mátrix determinánsa. Elegendő mindig a az első sora szerint kifejteni aldeterminánsokra és ezekre hívjuk majd meg rekurzív módon a függvényt ismét.
Pl.:
[[1,2,1],[2,3,1],[0,2,1]] -> 1
Fák
Bináris fák
Másoljuk be a bináris fa definícióját. Ezen az osztályon fogunk dolgozni.
- Írjunk egy count(self) metódust, ami megszámolja a fa elemeinek a számát!
- Írjunk egy sum(self) metódust, ami a fa összes csúcsában lévő értékeket összegezi!
- Írjunk egy height(self) metódust, ami megmondja, hogy milyen magas a fa!
- Írjunk egy is_list(self) metódust, ami megmondja, hogy a bináris fa listává fajult-e. Egy bináris fa akkor fajult listává, ha minden csúcsának legfeljebb egy gyereke van.