The Algorithms course will introduce participants to the most common programming techniques. Along with this, numerous algorithmic tasks will be solved and analyzes of different approaches - their properties, applications, advantages and disadvantages - will be carried out. The training participants will develop their algorithmic thinking skills and acquire skills for working with the main classes of algorithms used in practice: recursion and backtracking, recursion using variables, searching and sorting, as well as graph theory - implementation in computer memory, minimum spanning tree, traversal and finding the shortest path. Students will learn the technique of dynamic programming and solve famous problems such as the Fibonacci sequence, finding the longest common sequence and the longest sequence of increasing elements.
- Recursion
- Searching and Sorting Algorithms
- Graphs
- Minimum Spanning Tree(Prim, Kruskal)
- Shortest Path in Graph(Unweighted Graphs, Djikstra, Bellman-Ford)
- Dynamic Programming
- Fibonacci
- Move Down/Right
- Longest Common Subsequence
- Longest Increasing Subsequence