COURSE OUTLINE
Session 5
Effective Sorting Algorithms
(quick and merge sort)
Session 6
Arithmetics Algorithms
(primality, GCD, LCM, modular arithmetics, quick exponentiation)
Session 1
Arrays, Stacks, Queues
Session 3
Binary Search
Session 2
Linked Lists
(singly and doubly linked lists)
Session 4
Quadratic Sorting Algorithms
(selection, insertion, and bubble sort)
Session 10
String Algorithms
(substring search, polynomial hashing)
Session 9
Heap and Balanced Search Trees
Session 8
Search, Enumeration, and Generation of Combinatorial Objects
Session 7
Dynamic Programming
(1D and 2D dynamic programming tables)
Session 11
Graph Storage and Traversal
(depth and breadth first search)
Session 12
Shortest paths
(Dijkstra's, Bellman–Ford, and Bellman–Ford algorithms)
Session 15
Final exam
Session 14
Global optimization methods
(gradient descent, simulated annealing, genetic algorithms)
Session 13
Computational geometry
(lines, circles, polygons, convex hulls)