Last update: doc. Mgr. Jan Kynčl, Ph.D. (21.05.2018)
The course is a continuation of NTIN060 Algorithms and Data Structures I; algorithms taught in ADS I are shown
under a different point of view and other and more advanced methods are introduced. Algorithms are presented
using visualizations that are created so that illustrate basic ideas on which the algorithms are based. The goal is to
present algorithms as a creative part of the computer science and to teach students to think about the behavior and
properties of algorithms in an exact way.
Last update: doc. Mgr. Jan Kynčl, Ph.D. (21.05.2018)
Předmět navazuje na NTIN060 Algoritmy a datové struktury I, algoritmy vyučované v rámci ADS I ukazuje pod
jiným úhlem pohledu a přináší některé další a pokročilejší metody. Algoritmy jsou presentovány pomoci
vizualizací, které jsou vytvářeny tak, aby názorně osvětlily základní myšlenky, na kterých jsou algoritmy založeny.
Cílem předmětu je ukázat studentům algoritmy jako tvůrčí oblast informatiky a naučit je o chování a vlastnostech
algoritmů přemýšlet exaktním způsobem.
Course completion requirements - Czech
Last update: prof. RNDr. Luděk Kučera, DrSc. (13.06.2019)
Zápočet bude udělen za aktivní účast na semináři, a to
za fyzickou přítomnost na semináři, provázenou přítomností duševní (prokázanou například samostatným řešením zadaných příkladů, týkajících se probíraných algoritmů, připomínkami a/nebo dotazy) a
zejména za aktivitu přes emailovou adresu algovize@gmail.com - zasílání výsledků testů, hodnocení systému Algovision po stránce obsahové i softwarové, návrhy dalšího rozvoje vizualizací algoritmů, hlášení chyb v rozsahu, který prokáže domácí přípravu na základě témat, probíraných na semináři
Literature -
Last update: doc. Mgr. Jan Kynčl, Ph.D. (21.05.2018)
1. Visualizations are available at www.algovision.org, a web browser (Chrome, Mozilla) and pdf reader (e.g., Adobe Acrobat) suffice
2. Cormen, Leiserson, Rivest, Stein : Introduction to algorithms (2nd Edition), Mc Graw Hill 2001
Last update: doc. Mgr. Jan Kynčl, Ph.D. (21.05.2018)
1. Vizualizace jsou (nebo do začátku semestru budou) dostupné na www.algovision.org, k jejich prohlížení stačí libovolný webový prohlížeč (Chrome, Mozilla) a čtečka souborů pdf (např. Adobe Acrobat)
2. Literatura doporučená pro ADS I
Syllabus -
Last update: doc. Mgr. Jan Kynčl, Ph.D. (21.05.2018)
Tree data structures with the search operation: binary search trees (BST), balanced BST (AVL-trees and red-black trees), B-trees
Heaps: The standard heap, binomial (mergeable) heap, Fibonacci heap.
Standard sorting algorithms: bubblesort, mergesort, quicksort, heapsort.
Algorithms connected to sorting: median (and k-th element) search; sorting and switching networks: bitonic sorter.
Basic graph algorithms: graph and tree searching (depth and breadth search), shortest and extremal paths (CPM, Dijkstra, Bellman-Ford), minimum spanning tree (general scheme, Jarnik-Prim and Kruskal implementations), spectral heuristics for min-cut.
Detailed syllabus:
1. Binary search trees.
2. AVL-trees.
3. Red-black trees.
4. B-stromy.
5. Standard heap, binomial (mergeable) heap.
6. Fibonacci heap.
7. Bubblesort, mergesort, quicksort, median (and k-th element) search.
8. Bitonic sorter.
9. Graph and tree searching.
10. Shortest and extremal paths - CPM, Dijkstra.
11. Shortest and extremal paths - Bellman-Ford.
12. Minimum spanning tree (general scheme, Jarnik-Prim and Kruskal implementations).
13. Spectral heuristics for min-cut.
Last update: doc. Mgr. Jan Kynčl, Ph.D. (21.05.2018)
Stromové datové struktury s vyhledáváním: binární vyhledávací stromy (BVS), vyvažované BVS (AVL-stromy a červeno-černé stromy), B-stromy
Haldy: Standardní halda, binomiální (slučovatelná) halda, Fibonacciova halda.
Standardní algoritmy pro třídění: bubblesort, mergesort, quicksort, heapsort.
Algoritmy související s tříděním: vyhledávání mediánu (a k-tého prvku); obvody pro třídění a přepínání: bitonický obvod.
Základní grafové algoritmy: vyhledávání v grafu a stromu (do hlouby, do šířky), nejkratší a extremální cesty (CPM, Dijkstra, Bellman-Ford), minimální kostry grafu (obecné schéma, implementace Jarník-Prim a Kruskal)
Rozpis na jednotlivé lekce:
1. Binární vyhledávací stromy.
2. AVL-stromy.
3. Červeno-černé stromy.
4. B-stromy.
5. Standardní halda a heapsort, binomická halda.
6. Fibonacciova halda.
7. Bubblesort, mergesort, quicksort, vyhledávání mediánu a k-tého prvku.
8. Bitonické třídění.
9. Vyhledávání v grafu.
10. Nejkratší a extremální cesty - CPM, Dijkstra.
11. Nejkratší a extremální cesty - Bellman-Ford.
12. Minimální kostry grafu (obecné schéma, implementace Jarník-Prim a Kruskal).