Cvičení z Programování 1 a Algoritmizace pro pokročilé

V zimním semestru 2022/2023 vedeme s Jirkou Kalvodou speciální cvičení z předmětů Programování 1 [NPRG030] a Algoritmizace [NPRG062] pro pokročilé studenty, kteří již nasbírali nějaké zkušenosti s programováním a vymýšlením algoritmů (třeba v olympiádách a korespondenčních seminářích) a chtěli by se naučit víc.

Cvičení se koná v úterky od 10:00 v N2.

Podmínky na získání zápočtu najdete v pravidlech hry.

Svým cvičícím pište na adresu p1x@ucw.cz.

Co jsme dělali

datum co se cvičilo
4. 10. Jedno chybějící číslo. Nejmenší chybějící číslo v rostoucí posloupnosti. Různé variace na binární vyhledávání, monotónní predikáty.
11. 10. Nejdelší úsek bez opakování (A-Z, celá čísla, řetězce).
18. 10. Dvojice se zadaným součtem nebo rozdílem. Úsek se zadaným součtem.
25. 10. Nejdelší vyvážený úsek. Nejdelší bílý úsek.
1. 11. Podmatice ze samých nul na mnoho způsobů (zadané velikosti, zadané výšky, libovolná, čtvercová).
8. 11. Okénkova minima a mediány.
15. 11. Ještě online okénková minima.
22. 11. Cvičení se nekoná, otevíráme dveře.
29. 11. Generování všech objektů s danou vlastností: posloupnosti nul a jedniček, právě jedna změna, nejvýše k jedniček za sebou.
6. 12. Generování permutací, právě jedno prohození. Náhodné permutace a k-tice.
13. 12. O stromech, strážnících a mafiánech váženě i neváženě.
20. 12. DFS ve stromech: nejhlubší list, nejdelší cesta. Ještě mafiáni. Asfaltéři ve stromech i obecných grafech.
3. 1. Mafiánský kápo.
Stránku spravuje Martin Mareš