The theory of algorithms

Dinamical programming, graph algorithms: BFS, DFS, maximal matching in bipartitate graphs, Bellman-Ford’s, Floyd’s, Dijkstra’s algorithm, sorting: insertion sort, bubble sort, shell sort, merge sort, quick sort, bucket and radix sort, binary search tree, 2-3 tree, B tree, Jarnik-Prim’s algorithm, Kruskal’s algorithm, P, NP, coNP classes and their connections, NP-completeness.