[[https://www.fel.cvut.cz/cz/education/rozvrhy-ng.B171/public/cz/predmety/46/84/p4684006.html|Rozvrh na FEL]] [[https://www.fel.cvut.cz/cz/education/rozvrhy-ng.B171/public/cz/paralelky/P46/84/par4684006.1.html|Posluchači PAL]] [[https://cw.felk.cvut.cz/brute/|Odevzdávací systém BRUTE]] [[https://cw.felk.cvut.cz/forum/forum-1444.html|Diskusní fórum]] --------------- ====== Literatura papírová ====== [**MV**] Martin Mareš, Tomáš Valla: Průvodce labyrintem algoritmů, CZ.NIC, 2017, [[https://knihy.nic.cz/|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. ''\\ [**AC**] Robert Sedgewick: Algoritmy v C, části 1-4, SoftPress, Praha, 2003 [[http://www.informit.com/store/algorithms-in-c-parts-1-4-fundamentals-data-structures-9780201314526|link]]\\ ''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. ''\\ [**ACG**] Robert Sedgewick: Algorithms in C Part 5: Graph Algorithms (3rd Edition), Addison-Wesley Professional, 2002 [[http://www.informit.com/store/algorithms-in-c-part-5-graph-algorithms-9780201316636|link]]\\ ''Pokračování [AC](viz niže). Český překlad bohužel dosud neexistuje. Grafove reprezentace, prohledavani grafu, nejkratší cesty, minimální kostry, toky v síti, orientované grafy. Teoretické části lze nalézt přístupně zpracované i jinde (např. [GJA]), tato kniha však, stejně jako [AC], akcentuje také důležité implementační otázky. 528 stran.'' \\ V originálu existují obě knihy prof Sedgewicka ve variantě pro C++ a Javu. \\ [**APT**] Pavel Töpfer: Algoritmy a programovací techniky, Prometheus Praha 1995, 2. vydání 2007, [[http://neoluxor.cz/ucebnice/algoritmy-a-programovaci-techniky--35715/| 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. Patrně nejlepší česká publikace v tomto oboru, kompaktní, cenově dostupná, pokud je vyprodána, bývá k dispozici v knihovnách. '' \\ [**CLRS**] T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein: Introduction to Algorithms, 3rd ed., MIT Press, 2009, [[http://en.wikipedia.org/wiki/Introduction_to_Algorithms| 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. ''\\ [**GJA**] J. Demel: Grafy a jejich aplikace, Praha, Academia 2002 \\ [**HMU**] J. E. Hopcroft, R. Motwani, J. D. Ullman: Introduction to Automata Theory, Languages, and Computation, 2nd ed., Addison-Wesley, 2001 \\ ''Fotokopie nižší kvality. [[http://kmahmoudi.ir/DATA/Introduction%20To%20Automata%20Theory%20Languages%20,%20and%20Computation%20-%20John%20Hopcroft.pdf|zde.]]'' \\ [**JP**] B. Melichar: Jazyky a překlady, Praha, ČVUT 1996 \\ [**JPc**] B. Melichar et al.: Jazyky a překlady Cvičení, Praha, ČVUT 2004 \\ ====== Literatura online ====== **Algortitmy, grafy, teoretická informatika** \\ [**MV-PDF**] Martin Mareš, Tomáš Valla: Průvodce labyrintem algoritmů, CZ.NIC, 2017, [[ http://pruvodce.ucw.cz/|link]].\\ ''Kompletní elektronická verze [**MV**]''\\ [**DPV**] S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani: Algorithms, Mcgraw-Hill Higher Education, 2006, [[http://www.amazon.de/Algorithms-Sanjoy-Dasgupta/dp/0073523402/ref=sr_1_1?ie=UTF8&qid=1345655823&sr=8-1|link]] \\ ''Vynikající učebnice s množstvím skvělých cvičení, velmi čitelná, nezatížená "akademickým teoretizováním". Ve formátu pdf: [[http://beust.com/algorithms.pdf | zde. ]]''\\ [**PG**] I.Parberry, W.Gasarch: [[http://larc.unt.edu/ian/books/free/poa.pdf| Problems on Algorithms]] Prentice- Hall 1998''\\ Několik stovek instruktivních úloh z určování složitosti, rekurze, DP, vyhledávání a stromů.''\\ [**TIN**] J. Kolář: Teoretická informatika, skripta, ČVUT, 2004 [[http://www.exfort.org/2005l/4/x36tin/pdf/ti.pdf|Skripta TIN]] \\ [**ZGA**] J. Černý:[[http://kam.mff.cuni.cz/~kuba/ka/| 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.'' \\ **Formální jazyky a automaty** \\ [**MD**] M Demlová: Jazyky, automaty a gramatiky [[http://math.feld.cvut.cz/demlova/teaching/jag_vyuka.html| učební text FEL ČVUT pro předmět A4M01JAG ]] \\ [**TJAI**] Š. Vavrečková: Teorie jazyků a automatů I, Slezská univerzita v Opavě, 2007 [[http://fpf.slu.cz/~vav10ui/formal.html|Skripta pro TJA I]] \\ [**ZST**] P. Jančar: Teoretická informatika ,VŠB-TU, Ostrava, 2007, v odstavci: [[http://www.cs.vsb.cz/jancar/TEORET-INF/teoret-inf.htm| Základní studijní text]] \\ [**TKA**] H. Dostál: Teorie konečných automatů, regulárních gramatik, regulárních výrazů a jazyků, Fakulta informatiky a managementu UHK, [[http://iris.uhk.cz/tein/index.html|Strukturovaná stránka]] \\ [**BGJ**] K. Stratílková: Bezkontextové gramatiky, jazyky a zásobníkové automaty, Fakulta informatiky a managementu UHK, [[http://automata.howto.cz/index.html|Strukturovaná sránka]] \\ [**AFJ**] I. Černá, M. Křetínský, A. Kučera: Automaty a formální jazyky I, Fakulta informatiky MU, 2002, [[http://is.muni.cz/elportal/?id=703389| Elektronický text]] \\ [**FJA**] B. Rovan, M. Forišek: Formálne Jazyky a Automaty, FMFI UK, Bratislava, 2009, [[http://foja.dcs.fmph.uniba.sk/materialy/skripta.pdf| Elektronické skriptá]] pre tých, ktorí preferujú štúdium v rodnej reči.\\ **Hledání v textu** \\ [**TSA**] B. Melichar et al.: Text Search Algorithms, FEE CTU, Prague, 2004[[http://www.stringology.org/athens/TextSearchingAlgorithms/|link]] \\ [**TIS**] B. Melichar et al.: Textové informační systémy, FEL ČVUT, Praha, 1997\\ ====== Praktické programování ====== * Programátorské kuchařky z MFF UK[[http://ksp.mff.cuni.cz/study/cooks/cookbook.html| kuchařky.]] \\ * Korespondenční semináře z programování (KSP), [[http://ksp.mff.cuni.cz/ |MFF UK Praha]], [[http://www.ksp.sk/ksp2.0/news/|MFF UK Bratislava]], [[http://ganymed.math.muni.cz/ks/|MU Brno]]. \\ * Úlohy ze [[http://mo.mff.cuni.cz/p/|středoškolských programovacích olympiád ]]. \\ * Steven S. Skiena, Miguel A. Revilla: [[http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf]] -- vyborný úvod a komentář k vybraným úlohám z UVA Online Judge\\ * Vyhodnocovací systém na University of Valladolid: [[http://uva.onlinejudge.org/| UVA Online Judge]] \\ Pomůcka: UVA Toolkit [[http://uvatoolkit.com/problemssolve.php|Tématické členění vybraných úloh z UVA ]]\\ * Soutěžní stránky ACM na FEL: [[http://contest.felk.cvut.cz/|ACM International Collegiate Programming Contest]] \\ * [[http://projecteuler.net/problems| Project Euler]]\\ * [[http://www.spoj.pl/problems/classical/|Sphere Online Judge]]\\ ====== Různé tématické přehledy a pomůcky ====== **Mnoho datových struktur** \\ [[https://www.cs.usfca.edu/~galles/visualization/Algorithms.html| Snadná vizualizace ]] **Memory Management** \\ * CERT Coordination Center of Carnegie Mellon University on {{:courses:a4m33pal:04_dynamic_memory_v6.pdf| dynamic memory allocation }}.\\ * Doug Lea on his original Cpp [[http://g.oswego.edu/dl/html/malloc.html|Memory allocator ]].\\ * http://en.wikipedia.org/wiki/Mark-compact_algorithm * http://en.wikipedia.org/wiki/Cheney%27s_algorithm * http://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29 **Binary search** \\ Skoro nikdo ho nenapíše správně: [[http://reprog.wordpress.com/2010/04/19/are-you-one-of-the-10-percent/|External Link]]\\ Ani velcí vývojaři: [[http://googleresearch.blogspot.cz/2006/06/extra-extra-read-all-about-it-nearly.html|External Link]]\\ ** Leonardo Pisano: **\\ http://www.gdeepak.com/IADSA/L22binomialfibonacciheaps.pdf\\ http://www.cl.cam.ac.uk/teaching/1213/AlgorithII/fibonacci.pdf\\ **Ukázka sjednocení a průniku automatů** \\ [[http://www.cs.vsb.cz/kot/soubory_animaci/a-dfa_sjednoceni.pdf|Sjednoceni]] [[http://www.cs.vsb.cz/kot/soubory_animaci/a-dfa_prunik.pdf|Prunik]] **Applety na stromy** \\ [[http://techunix.technion.ac.il/~itai/|Splay]]\\ [[http://webdiis.unizar.es/asignaturas/EDA/AVLTree/avltree.html|AVL a R-B]] **B+ stromy** \\ http://www.cs.princeton.edu/courses/archive/fall08/cos597A/Notes/BplusInsertDelete.pdf\\ http://www.cs.helsinki.fi/u/mluukkai/tirak2010/B-tree.pdf\\ **Pugh: Skip list** \\ http://cglab.ca/~morin/teaching/5408/refs/p90b.pdf **k-d stromy** \\ http://www.cs.umd.edu/users/meesh/420/Notes/MountNotes/lecture17-quadkd.pdf\\ http://www.cs.umd.edu/users/meesh/420/Notes/MountNotes/lecture18-kd2.pdf\\ http://www.cs.umd.edu/~mount/420/Lects/420lects.pdf\\ http://www.cs.cmu.edu/~awm/animations/kdtree/ \\ **Trie et al** \\ http://people.cis.ksu.edu/~rhowell/viewer/viewer.html \\ www.cs.umd.edu/class/fall2005/cmsc132/lecs/lec29.ppt \\ www.math.tau.ac.il/~haimk/seminar02/suffixtrees.ppt\\ www.cs.nyu.edu/~melamed/courses/102/lectures/Tries.ppt\\ **Extras** \\ http://www.fel.cvut.cz/cz/rozvoj/podminky-prijeti-MP.html ====== Neaktuální ====== [[http://www.cs.sfu.ca/CourseCentral/365/li/squeeze/AdaptiveHuff.html| Adaptivní Huffmanovo kódování.]]\\ [[http://bmanolov.free.fr/matrix_lu.php| LUP rozklad matice.]] {{:courses:a4m33pal:paska13kd.pptx| kd ppt}}