Skip to main content
Skip header
Ukončeno v akademickém roce 2019/2020

Algorithms II

Type of study Bachelor
Language of instruction Czech
Code 460-2003/02
Abbreviation ALG II
Course title Algorithms II
Credits 5
Coordinating department Department of Computer Science
Course coordinator doc. Mgr. Jiří Dvorský, Ph.D.

Osnova předmětu

Introductory lecture - organizational matters, the sum necessary knowledge of the subject Algorithms I
Linear data structures - abstract data structures, stack, queue, list
Dynamic memory allocation - pointers, operators, references, dereference, memory allocation and deallocation
Spojová implementation of linear data structures - use of OOP and dynamically allocated structures
Graphs - basic concepts, graph as data structure, implementation of the graphs
Graph traversal algorithms - depth and breadth first traversals
Binary search trees I - basic concepts, search
Binary search trees II - insertion, deletion, traversals
Balanced and multiway trees - AVL-trees, Red-black trees. B-trees
Hashing - hash table, collision resolving methods
Pattern matching - searching for one or more samples, elementary lexical analysis of text
Simple compiler - arithmetic and logical expressions compilation, postfix notation and its interpretation via the stack
Problem solving techniques - divide and conquer, greedy, dynamic programming


Responsibilities of computer exercises

Repetition of the subject Algorithms I
Implementation of stack, queue and list using array
Dynamic memory allocation
Linked list implementation
Graphs, graph implementation options
Graph traversal algorithms
Binary trees
Usage of hash tables
Pattern matching
The compiler is based on a recursive descent

Project content

Entering the project will aim to deal with the OOP.

Povinná literatura

LEVITIN, Anany. Introduction to the Design and Analysis of Algorithms. 3rd ed. Boston: Pearson, 2012. ISBN 978-0-13-231681-1 .
CORMEN, Thomas H. Introduction to algorithms. 2nd ed. Cambridge, Mass.: MIT Press, 2001. ISBN 02-620-3293-7.
SEDGEWICK, Robert. Algorithms in C. 3rd ed. Reading, Mass: Addison-Wesley, 1998. ISBN 978-020-1350-883 .

Doporučená literatura

STROUSTRUP, Bjarne. The C++ programming language. Fourth edition. Upper Saddle River, NJ: Addison-Wesley, 2013. ISBN 978-0321563842 .
SCHILDT, Herbert. Teach yourself C++. 3rd ed. Berkeley: Osborne McGraw-Hill, 1998. ISBN 978-0078823923 .