Logo webu
Are you interested in studying at Unicorn University? Sign up for an open day and find out more.

Advanced Algorithm Development

9 ECTS
Bachelor
Czech | English
David Hartman

The course aims at providing students with a complex overview and explanation of methods for solving complicated programming tasks. The course deals with issues of basic database type algorithms, such as search and order, with methods of deterministic solutions of decision and scheduling tasks presented by a graph algorithm platform and with a soft introduction to non-deterministic approaches.

Course outline

The general algorithm block

The course divides into two thematic algorithmic blocks – general and graph oriented. The general block describes principles later demonstrated on graph algorithms.
Algorithm complexity
Description of algorithm time and space complexity, methods of expressing it, effective comparison of algorithms by means of such metrics, examples of complexity in basic graph operations.
Advanced programming methods
Description of advanced programming methods, such as recursion or dynamic programming, their use for graph search.
Advanced sort and search methods
Description of advanced sort and search methods (e.g. merge sort, quicksort, BB(a) tree, B-tree, Boyer-Moore algorithm text search etc.).
Standard data algorithms
Description of various standard algorithm methods for ordering and search, including relevant features of algorithms, lowering the complexity of handling graphs by means of more effective data administration methods.
Heuristic problem solving
Hungry algorithms and implementing heuristics, introduction of the simplicity of hungry algorithms via the minimal graph frame.
Complexity classes
Introducing complexity classes P and NP, the differences and potential relation, NP-full problems, demonstrating the issue of colour as an NP-full problem.
Approximation and vague algorithms
Introducing the topic of vague and approximation algorithms, methods of solving the issue of colour via polynomial algorithms.

The graph algorithm block

Graph and its storage in a computer
Representing real problems by means of a graph and its effective storage in a computer with regard to the solved problem, oriented graphs, the use of general algorithm complexity definitions.
Graph passage
Basic methods of passing through a graph in depth and width, their use for graph characterisation and real task implementation, the use of search for the shortest path algorithm. The use of advanced algorithm methods, such as recursion or dynamic programming.
Trees
Characteristics of trees, their coding and thereby enabled effective storage in memory, the related problem of tree isomorphism.
The issue of minimal frame
Finding the frame and its minimisation, the complexity of the whole approach and the simple hungry algorithm for solutions, the use of the knowledge of general heuristic methods.
The issue of colour
The issue of graph colour, the use for planning algorithms, the complexity of the problem and its NP-fullness, the relation to the general definition of complexity classes.
Vague algorithms in graph colour
Algorithms for approximate graph colouring, approaches to solving complex algorithms polynomially with a certain degree of inaccuracy, related to the general definition of approximation and vague algorithms.
document_check.svg
We use cookies on this website to ensure its functionality and to personalise ads, solely with your consent and in accordance with our Cookies Policy.

By clicking on the "Accept cookies" button, you consent to the use of selected cookies and agree to the transfer of behavioural data for the display of targeted advertising on social and advertising networks. You can choose which information you want to share with us by clicking on the Cookie settings button.