Charles Explorer logo
🇬🇧

Extension seminar Algorithms and Data Structures 1

Class at Faculty of Mathematics and Physics |
NTIN107

Syllabus

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.

Annotation

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.