Literatura a další materiály
Literatura
PAPÍR
[MV] Martin Mareš, Tomáš Valla: Průvodce labyrintem algoritmů, CZ.NIC, 2. vydání 2022, link.
‘’Nejobsažnější a nejpropracovanější česká kniha v oboru, obsahuje algoritmy základní i pokročilé, přehledný výklad, autoři léta učí algoritmy na MFF UK a FIT ČVUT. ’’
[CLRS] T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein: Introduction to Algorithms, 3rd ed., MIT Press, 2009, link
‘’Jedna ze standardních světových učebnic oboru, obsažná (1200+ stran) a důkladná. Zajemci o vědeckotechnické programování poslouží zároveň jako výborná referenční příručka. ’’
[APT] Pavel Töpfer: Algoritmy a programovací techniky, Prometheus Praha 1995, 2. vydání 2007, link
‘’Oblíbená učebnice programování, představuje nejdůležitější datové struktury a jejich použití, základní algoritmy řazení, vyhledávání a manipulace s grafy. Jedna z nejsolidnějších českých publikací v tomto oboru, kompaktní, cenově dostupná, pokud je vyprodána, bývá k dispozici v knihovnách. ’’
[AC] Robert Sedgewick: Algoritmy v C, části 1-4, SoftPress, Praha, 2003
‘’Překlad světoznámé učebnice obsahuje detailní poučení o řazení a vyhledávání, výborná kniha pro
úvod do hlubšího pohledu na problematiku, 688 stran, původní cena cca 700 Kč, nyní rozebrána, knihovna FEL má asi 10 výtisku, jiné knihovny méně, ale mají. V originálu existuje ve variantě pro C++ a Javu. ’’
WEB
[MV-PDF] Martin Mareš, Tomáš Valla: Průvodce labyrintem algoritmů, CZ.NIC, 2.vydání 2022, link.
Kompletní elektronická verze [MV]
[DPV] Dasgupta, Papadimitriou, Vazirani:
Algorithms (Amazon: recenze čtenářů)
Velmi solidní text pro úvod do praktické informatiky. Příklady, ukázky, pseudokódy, rozbory.
[ZGA] Jakub Černý: Základní grafové algoritmy, KAM MFF, 2010, online publikace.
Kniha obsahuje také základní poučení o algoritmech vůbec, složitost, rozděl/panuj. Spolu s [APT] představuje výborný úvod do problematiky v češtině, v přítažlivosti a názornosti výkladu je mnohde daleko předbíhá. Množství zajímavých příkladů. Doporučujeme.
[PK] Programátorské kuchařky z MFF UK kuchařky.
Web pro pokročilejší středoškoláky, podobné kvality jako [ZGA], obsáhlejší.
[TC] Server Topcoder obsahuje volně vybrané základní algoritmické a implementační přehledy.
[GFG] Server GeeksForGeeks jakbysmet.
[AN] Andrey Naumenko: Kódy algoritmů
Speciálně
Mnoho datových struktur interaktivně
Dynamické programování
-
DP v kuchařce [PK]: html výklad I, html výklad II, přibližně shrnuto v pdf.
-
Kap. 15 v [CLRS]: (viz výše).
-
Kap. 6 v [DPV]: kap. 6
-
Kap. 14 v [APT]: (viz výše).
-
Násobení matic v článku Jakuba Černého
-
Násobení matic v přehledu profesora Wu
-
Násobení matic podle [CLRS] od prof. Rashida Bin Muhammada z Kentu.
-
Další příklady od prof. Briana Deana z Jižní Karolíny.
Úlohy
Sběhlost a přehled v používání základních i pokročilejších algoritmů nabýváme jen postupnou praxí při řešení úloh.
S papírem a tužkou
S klávesnicí a monitorem
-
Korespondenční semináře z programování (KSP), MFF UK Praha, MFF UK Bratislava, MU Brno.
-
Úlohy ze středoškolských programovacích olympiád.
-
Vyhodnocovací systém na University of Valladolid: UVA Online Judge
Pomůcka: UVA Toolkit Tématické členění vybraných úloh z UVA.-
Sphere Online Judge Přes 13000 úloh nejrůznějších úrovní, také s částečným výběrem úloh podle témat.
-
Steven S. Skiena, Miguel A. Revilla: Programming Challenges – vyborný úvod a komentář k vybraným úlohám z UVA Online Judge.
-
Soutěžní stránky ACM na FEL: ACM International Collegiate Programming Contest.
-
Project Euler Proslulý zdroj matematičtěji zaměřených úloh, cca první stovku znich lze ale doporučit každému zájemci o efektivní programování.
-