This lecture covers basic data structures (e. g., lists and trees), algorithms and their analysis (e. g., searching, sorting and graph algorithms). General programming techniques (e. g., "divide and conquer" and "dynamical programming") are also discussed. This lecture is a loose continuation of Computer Programming I. Examples are given in the C programming language.
Last update: doc. RNDr. Filip Uhlík, Ph.D. (05.04.2016)
Tato přednáška pokrývá základní datové struktury (například seznamy a stromy), algoritmy a jejich analýzu (například vyhledávání, třídění a grafové algoritmy). Obecné programovací techniky (například "rozděl a panuj" a "dynamické programování") jsou také diskutovány. Tato přednáška je volným pokračováním přednášky Základy programování I. Příklady jsou v programovacím jazyce C.
V případě, že se předmět nevyučuje, neváhejte a zapište si Programování pro informatiky na MFF.
Literature -
Last update: doc. RNDr. Filip Uhlík, Ph.D. (07.06.2019)
D. E. Knuth: The Art of Computer Programming, Addison-Wesley, 1969.
Last update: ZUSKOVA (29.01.2003)
D. E. Knuth: The Art of Computer Programming, Addison-Wesley, 1969.
Requirements to the exam -
Last update: doc. RNDr. Filip Uhlík, Ph.D. (15.10.2020)
Exam consists in two parts, a written one when student creates a program for an agreed problem and an oral one when students defends its correctness and eventual changes. If necessary, the couse and the exam will have a distant form.
Last update: doc. RNDr. Filip Uhlík, Ph.D. (15.10.2020)
Zkouška se skládá z písemné části, kdy student napíše program řešící dohodnutou úlohu a ústní části, kdy se zkoušejícím řeší jeho správnost a případné úpravy. Bude-li to nutné, budou kurz a zkouška distační.
Syllabus -
Last update: doc. RNDr. Filip Uhlík, Ph.D. (07.06.2019)
Algorithms and complexity
what is an algorithm? time and space complexity, asymptotic complexity and big O notation