Algoritmus a jeho složitost co je to algoritmus? časová a prostorová složitost, asymptotická složitost a notace s velkým O
Základní datové struktury a algoritmy sequential allocation, linked allocation, zásobník (stack), fronta (queue), stromy, halda (heap)
Rozděl a panuj (Divide and Conquer)
Dynamické programování
Vyhledávání (Searching) sekvenční vyhledávání, binární vyhledávání, binární vyhledávací stromy, AVL stromy, 2-3 stromy, B-stromy, hashing, externí vyhledávání
Třídění (Sorting) insert a select sort, quick, heap a merge sort, externí třídění
Grafové algoritmy průchod grafem, komponenty grafu, nejkratší cesta v grafu, minimální kostra grafu
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.