Complexity classes. Main definition, understanding of the main classes occurring in practice, determining the complexity class of a given algorithm.

Sorting. Principles of sorting, sorting by comparison and its
complexity. The main sorting algorithms (e.g., Insertion Sort, Selection Sort, Bubblesort, Heapsort, Quicksort, Mergesort), their applicability to different data structures, their complexity, strengths and weaknesses. Sorting by distribution.

Searching. Sequential and binary searching, suitable data structures.

Graph algorithms. Shortest path, spanning tree, traversal.

Storing. Tables and hashing, chaining and open addressing collision handlers. Storing in trees.