Table of Contents

Rozvrh na FEL Posluchači ALG Odevzdávací systém BRUTE Diskusní fórum

ALG - cvičení

Provoz v semestru

Distanční výuka

Výuka od 21. září do odvolání bude probíhat distančně pomocí nástroje Big Blue Button. Před každým cvičením obdržíte na email odkaz, pomocí nějž se připojíte. Do zlepšení situace nebude studentům umožněn vstup do budov ČVUT s výjimkou kolejí a menz.

Prezence v době distanční výuky bude nahrazena odevzdáváním úloh ze cvičení vypracovaných v malých skupinkách (nebo i jednotlivě). Pravidla pro vypracovávání skupinových prací ze cvičení:

Paralelka Podmínky Vypracovat úlohy Termín odevzdání
105 Práce v 1-4členných skupinách dořešte stavbu optimálního BVS (příklad 13b), poslední odrážku úlohy 19 z Prezentace 11 a úlohy 15a a 15b z Prezentace 12 16. 12. 23:59 e-mailem

Programovací úlohy
Semestr obsahuje 8 domácích programovacích úloh sumárně ohodnocených 24 body, z čehož je k získání zápočtu nutno získat alespoň 13 bodů. Úlohy jsou zadávány a řešení vyhodnocována prostřednictvím odevzdávacího systému BRUTE.

Termíny a hodnocení domácích úloh

   zadání -- odevzdání         
1.   25.9. -- 18.10.   ( Asymptotic complexity )       
2.   9.10. --  1.11.   ( Recursion/Backtrack )       
3.  16.10. --  8.11.   ( Tree search )       
4.  30.10. -- 22.11.   ( Graph search )       
5.   6.11. -- 29.11.   ( BST processing )       
6.  13.11. -- 13.12.   ( Divide and conquer )     
7.  27.11. -- 27.12.   ( Dynamic Programming )      
8.  11.12. -- 10.1.    ( Dynamic Programming )
         
Správně spočtených 10 z 10 testovacích případů     ... 3 body
Správně spočtených 9 z 10 testovacích případů      ... 2 body
Správně spočtených 8 z 10 testovacích případů      ... 1 bod
Správně spočtených 7 nebo méně testovacích případů ... 0 bodů

Pozdní odevzdání ... -1 bod za každý započatý týden zpoždění.

V BRUTE u úloh vidíte počet správně vyřešených zadání (minus penalizaci za pozdní odevzdání), ne finální počet bodů podle výše uvedeného přepočtu. Finální počet bodů za úlohu spočítáme až u zkoušky, a je roven max(0, body v BRUTE - 7).

Zápočet
Kromě minima 13 z možných 24 bodů za řešení úloh je ke získání zápočtu nezbytná pravidelná docházka do cvičení s max. 2 neomluvenými absencemi. Předpokládáme, že posluchači se vyvarují odevzdávání plagiátů a seznámí se s pravidly uvedenými na společné stránce: Plagiáty.

Upload systém
Komunikace s upload systémem je popsána v oddílu Upload System.
Každou úlohu doprovází sada neveřejných testovacích souborů a sada veřejných souborů se správnými výsledky. Veřejné soubory jsou uloženy v odevzdávacím systému a systém spouští řešitelovu úlohu pokaždé rovněž na těchto datech a vrací řešiteli kompletní výstup jeho řešení na STDOUT a STDERR pro každý veřejný soubor. Veřejné soubory jsou součástí zadání úlohy a jejich obsah je podobný obsahu testovacích souborů a poskytuje tak další příležitost k účinnému ladění. Počet testovacích a veřejných souborů není pevně určen a pro různé úlohy se může lišit, zejména veřejné soubory mohou z trénovacích důvodů zcela chybět.

Materiály na cvičení

Tabulka s porovnáním složitostí – pdf

Referenční řešení domácích úloh

Úlohy k procvičování a zkoušce

Řád růstu funkcí a asymptotická složitost
Bez řešení a_complex_alg_unsol.pdf a s řešením a_complex_alg.pdf
Rekurze
Bez řešení b_recur_alg_unsol.pdf a s řešením b_recur_alg.pdf
Stromy, průchod stromy
Bez řešení c_treestq_alg_unsol.pdf a s řešením c_treestq_alg.pdf
Vyhledávací stromy
Bez řešení d_bst_avl_b_alg_unsol.pdf a s řešením d_bst_avl_b_alg.pdf
Řazení
Bez řešení e_sort_alg_unsol.pdf a s řešením e_sort_alg.pdf
Hash (rozptylovací tabulky)
Bez řešení f_hash_alg_unsol.pdf a s řešením f_hash_alg.pdf
Dynamické programování
Bez řešení g_dynpgm_alg_unsol.pdf a s řešením g_dynpgm_alg.pdf