Binary trees. Balanced and unbalanced trees (B-trees). Tree representation as an array and as a linked structure. Recursive and non-recursive tree traversal algorithms. Binary search AVL tree. Red-black tree. An example of using trees: the Huffmann algorithm.
Dynamic programming
Basic algorithms of dynamic programming.
Greedy Algorithms
Coin exchange problem. Knapsack problem.
Graphs
The concept of a graph. Graph representation. Connected and disconnected graphs. Connectivity components. Spanning tree. Graphs applications.
Basic Graph Algorithms
Breadth-first search. Finding the shortest path (Dijkstra's algorithm). Depth-first search. Topological sorting. Finding bridges in a graph. Loops in a graph.
Genetic Algorithms
Usage and implementation of genetic algorithms.
Elements of cryptography
RSA algorithm. ElGamal algorithm. Attacks on cryptographic algorithms.
Parallel programming
Creation multi-threaded environment algorithms.
Sign up
Please fill out the form. Our managers will contact you shortly.