| 
        Vyučující
     | 
    
        
            
                - 
                    Hrubý Filip, Mgr. MSc.
                
 
            
                - 
                    Roubal Tomáš, RNDr. Ph.D.
                
 
            
                - 
                    Valdman Jan, doc. Dr.rer.nat. Ing. DSc.
                
 
            
         
     | 
    | 
        Obsah předmětu
     | 
    
        1. Základní algoritmické konstrukce 2. Metody návrhu algoritmu 3. Algoritmické konstrukce  a. pro práci s posloupnostmi b. pro práci s maticemi 4. Datové struktury a. kompaktní a spojové seznamy b. zásobník, fronta, halda 5. Algoritmy vnitřního třídění a. přímé metody b. quicksort, heapsort 6. Třídící algoritmy a. Bucket sort b. Radix sort 7. Skiplist 8. AVL + RedBlack strom 9. BStromy 10. Hašovací tabulka 
         
         
     | 
    | 
        Studijní aktivity a metody výuky
     | 
    
        
        Monologická (výklad, přednáška, instruktáž), Demonstrace
        
            
                    
                
                    
                    - Účast na výuce
                        - 56 hodin za semestr
                    
 
                
                    
                    - Příprava na zkoušku
                        - 28 hodin za semestr
                    
 
                
                    
                    - Semestrální práce
                        - 14 hodin za semestr
                    
 
                
                    
                    - Příprava na zápočet
                        - 14 hodin za semestr
                    
 
                
                    
                    - Domácí příprava na výuku
                        - 48 hodin za semestr
                    
 
                
             
        
        
     | 
    
    
        
        
            | 
                Výstupy z učení
             | 
        
        
            
                
                Předmět má studenty seznámit se základními datovými strukturami a jejich využitím při tvorbě efektivních algoritmů. Studenti si v rámci předmětu osvojí základní algoritmické konstrukce a postupy pro návrh algoritmů. Během kurzu se studenti seznámí se základmíni abstraktními datovými typy (pole, seznam, strom, slovník) a často používanými algoritmy zaměřenými především na organizaci dat (řazení, hledání), vyhledávací stromové struktury a hašovací tabulky.
                 
                Absolvent kurzu bude rozumět základním principům algoritmů, bude schopen vytvářet jednodušší algoritmy a používat je při vytváření svých programů.
                 
                
             | 
        
        
            | 
                Předpoklady
             | 
        
        
            
                
                
                Úvodni kurz - znalosti matematiky ze střední školy
                
                
                    
                        
                    
                    
                
                
  
             | 
        
        
            | 
                Hodnoticí metody a kritéria
             | 
        
        
            
                
                    
                        Kombinovaná zkouška, Průběžné hodnocení
                        
                        
                         
                        
                    
                    
                
                 Vypracování seminární práce (vytvoření programu v libovolném programovacím jazyce zahrnující zadaný algoritmus), absolvování písemného závěrečného testu.
                 
             | 
        
    
    | 
        Doporučená literatura
     | 
    
        
            
                
                - 
                    Goodrich, M. T. - Tamassia, R.:. Data Structures and Algorithms in Java. John Wiley & Sons, 2001. 
                
 
            
                
                - 
                    Lafore, R. Data Structures & Algorithms in Java. Sams, 2003.. Sams, 2003. 
                
 
            
                
                - 
                    Mareš, M., Valla, T. PRŮVODCE LABYRINTEM ALGORITMŮ. Praha, 2017. ISBN 78-80-88168-22-5.
                
 
            
                
                - 
                    MCMILLAN, M. Data Structures and Algorithms Using C#. New York: Cambridge University Press, 2007.. Cambridge: University Press, 2007. ISBN 0-521-54765-2.
                
 
            
                
                - 
                    SEDGEWICK, R., WAYNE, K.D. Algorithms. Addison-Wesley Professiona, 2015. ISBN 978-0134384689.
                
 
            
                
                - 
                    Wróblewski, P. Algoritmy. Praha: Computer Press, 2015. ISBN 9788025141267.
                
 
            
         
         
         
     |