Home page

BPC-ALD home page

Výuka home page




Algoritmy a datové struktury
Cvičení



přednášky naleznete zde









Týden

Náplň

1

(2019)

Organizace kurzu.
Termíny testů se mohou posouvat v závislosti na probrané látce.
Svátky: Pá 19.4 (11 týden); Po 22.4 (12 týden)

2D pole:
- statické ASCII art
- dynamické pole rozbor úlohy, úvod (matice, sudoku) – funkce pro alokaci, odalokaci, načtení dat ze souboru, násobení matic

2
(2019)

dynamické pole realizace funkcí, dokončení

jednoduché algoritmy:
- společný dělitel – rozbor úlohy, příprava projektu a hlaviček funkcí

3
(2019)

jednoduché algoritmy:
- společný dělitel (nejmensí, největší, rozklad na prvočísla, brutal force – úpravy – euklidův algoritmus)

Další náměty na procvičování jednoduchých algoritmů (DU)
> výpočet pi pomocí různých metod – srovnání
> výpočet odmocniny

4
(2019)

Rekurze
> algoritmus faktoriál – bez rekurze; faktoriál pomocí rekurze
> algoritmus půlení intervalu – bez rekurze; půlení intervalu pomocí rekurze

Další náměty na procvičování jednoduchých algoritmů (DU)
> tisk čísel z pole v opačném pořadí pomocí rekurze
> hanojské věže pomocí rekurze

5
(2019)

lineární seznam
> základní operace jednosměrně vázaného seznamu

6
(2019)

lineární seznam - pokračování
> rozšíření o další funkce

7
(2019)

lineární seznam - pokračování
> rozšíření o další funkce
> úpravy pro obousměrně vázaný seznam

binární strom – rozbor úlohy, příprava na řešení příkladu

8
(2019)

Test č. 1

9
(2019)

Stavový automat
> vypuštění komentářů z C/C++ zdrojových textů

Další možné rozšíření
> formátování C/C++ zdrojových textů
- definovaný počet prázdných řádků mimo a uvnitř funkcí
- odsazování bloků kódu (pouze odsazování ve stávajícím kódu, bez doplňování/rušení znaků nový řádek)
- …

10
(2019)

binární strom
> morseovka : vytvoření načítáním dat ze souboru; data podle abecedy
> dekódování textu pomocí vytvořeného stromu

11
(2019)

Test č. 2

12
(2019)



> bitové pole – makra nastavení, nulování, změna bitu; bitová reprezentace množiny celých čísel - eratostenovo síto
> BASE 64 – coder, decoder

Příklad k procvičení
> konverze [mantisa, exponent] ↔float/double (binary 32/64/128)

13
(2019)

> algoritmy třídění – srovnání rychlosti (merge sort, heap sort, insertion sort – knihovní qsort)



Další témata k procvičení

Práce s řetězci
> prohledávání, podřetězce, výskyty znaků a řetězců
> zpracování řetězce – zpracování aritmetických výrazů, polská notace

> Statistika znaků v souboru, seřadit podle počtu znaků – řadit přímo položky, řadit přes indexy

Hledání v grafech (Dijkstra, Borůvka, navigace, obchodní cestující, ...)
> nejratší propojení
> nejkratší cesta mezi dvěma body, s návratem









Poslední změna 2019-01-29