Programování II.

Anotace předmětu:

Navazující kurz programování v jazyce Python. Složitost algoritmu. Dynamické datové struktury: seznam, fronta, zásobník, binární strom, halda. Vyhledávání: sekvenční, indexace, BST stromy. Grafové algoritmy. Pokročilé algoritmické strategie: greedy algoritmy, backtracking, heuristika. Zpracování aritmetického výrazu (infix, prefix, postfix notace). Hashing, spatial hashing. Grafické uživatelské rozhraní v Pythonu.

Přednášky:

Seznam přednášek pro letní semestr. Možnost stažení prezentací ve formátu PDF.

Přednáška Téma Ke stažení
1 Časová složitost. přednáška
2,3 Třídící algoritmy. přednáška
4 DDS: Seznam, zásobník, fronta. přednáška
5, 6 BST stromy. přednáška
7 Grafové algoritmy I: BFS, DFS. přednáška
8 Grafové algoritmy II: Nejkratší vzdálenosti. přednáška 
9 Grafové algoritmy III: Minimální kostry. přednáška
10,11 Pokročilé algoritmické strategie. přednáška
12 Bezkontextová gramatika. Zpracování aritmetického výrazu. přednáška
(13) Halda. Prioritní fronta. přednáška, přednáška
(14,15) Vyhledávácí algoritmy (index. klíče, BST, hashing). přednáška

 

 

 

 

 

 

 


Cvičení:

Praktická aplikace poznatků při tvorbě aplikací v prostředí PyCharm.

Podmínky zápočtu a zkoušky:

  • Zpracování úloh v zadaném termínu,
  • Účast na cvičeních.

Úloha č. 1: třídící algoritmy, zde.

Literatura:

Přednášky:
[1] SEDGEWICK R.: Algoritmy v C, Addison-Wesley, 1999
[2] KOLÁŘ J.: Teoretická informatika,2004,Vydavatelství ČVUT
[3] VIRIUS M.: Základy algoritmizace,2004,Vydavatelství ČVUT
[4] WROBLEWSKI P.: Algoritmy,datové struktury a programovací techniky,2004,Computer Press
Elektronická verze přednášek ve formátu PDF.
Cvičení:
[1] Eckel B. : Myslíme v jazyce Java, Grada Publishing, 2000
[2] Herout P.: Java, grafické uživatelské prostředí a čeština, Kopp, 2001
[3] Herout P.: Učebnice jazyka Java, Java, Kopp, 2001
[4] Chapman S. J.: Začínáme programovat v jazyce Java, Computer Press, 2001
[5] Pecinovský R.: Myslíme objektově v jazyku Java, Grada publishing, 2006
[6] Virius M.: Java pro zelenáče, Neocortex, 2001
Elektronická verze výukového materiálu Java pro geoinformatiky v PDF.