přednáška 27.listopadu
Pokud se v látce ztrácíte, je nyní nejvyšší čas nějak na to reagovat (studium, dotazy na přednáškách a cvičeních, konzultace, počítání více příkladů, diskuse s kolegy).
Později Vás to může stát neúměrně více úsilí a nemusí se to ani povést.
Stav, kdy víte, že nevíte, je normální a zvládne se studijním úsílím a konzultacemi.
Stav kdy nevíte, že nevíte, je nebezpečný, deprimující a demotivující, neměli byste se do něj dostat.
V něm už nestačí jen se učit, je ale je třeba se hlouběji zamyslet nad motivacemi ke studiu, které máte, sebrat síly a
najít odvahu se s tím poprat - možná pak budete potřebovat i psychologickou podporu Vašich blízkých.
- "typované" konstanty (pozor nejsou to konstanty !) jako příjemný způsob inicializace hodnot
proměnných (i strukturovaných) typů
- podmíněný příkaz case a typický způsob jeho implemenace jako "skoku podle indexu"
- Opakovánií - pojem rekurse
- Hledání všech pozic N nezávislých dam na šachovnici N x N - volba datových struktur
umožňujících inkrementální aktualizaci - Program
Rozmyslete si dobře a důkladně tento algoritmus i jeho technické provedení.
Velmi mnoho rekursivních algoritmů můžete "napasovat" na toto schéma.
- Výstup otočeného řetězce pomocí rekursivní procedury s lokální proměnnou,
implicitně využíváme zásobník volání podprogramů
- Hledání všech rozkladů zadaného čísla na součet sčítanců
- Přímá a nepřímá rekurse, direktiva forward,
někdy se používá i jen k tomu, abychom hlavičky podstatných podprogramů umístili hned na začátek programu
- Prohledávání grafu do hloubky a šířky .
- Společná implementace se seznamy OPEN a CLOSE,
ve které se tyto algoritmy liší jen implementací seznamu OPEN (zásobník/fronta)
- Animace: do hloubky,
do šířky,
tyto animace obsahují (poměrně závažnou chybu) Najděte ji!