Algorithms and complexity what is an algorithm? time and space complexity, asymptotic complexity and big O notation
Basic data structures and algorithms sequential allocation, linked allocation, stack, queue, trees, heap
Divide and Conquer
Dynamic programing
Searching sequential searching, binary searching, binary searching trees, AVL trees, 2-3 trees, B-trees, hashing, external searching
Sorting insert and select sort, quick, heap and merge sort, external sorting
Graph algorithms graph traversal, graph components, shortest path, minimal spanning tree
Computer programming fundamentals II
This lecture covers basic data structures (e. g., lists and trees), algorithms and their analysis (e. g., searching, sorting and graph algorithms). General programming techniques (e. g., "divide and conquer" and "dynamical programming") are also discussed. This lecture is a loose continuation of Computer Programming I. Examples are given in the C programming language.