Sections covered before the midterm. Sections 3.1,4.0-4.5,6.0-6.5,7.0-7.4,8.0-8.3,9.0-9.3,13.0-13.4,17.0-17.4, 19.0-19.4 Topics covered 3.1 Theta, O,Omega notation 4.0-4.5 divide and conquer stock market profit problem, maximum-subarray problem Strassen's algorithm (you dont' have to memorize the formulas he used) solving recurrences substitution method recursion tree method master method 6.0-6.5 heaps, max-heap property, min-heap property, height heapifying and building heaps heapsort, priority queues 7.0-7.4 quicksort (randomized version) worst-case, average-case analysis 8.0-8.3 lower bound on comparison sorts, decision tree linear sorts: counting sort, radix sort 9.0-9.3 max,min element of list selecting kth element of list select algorithm in average linear time select algorithm in worst-case linear time 13.0-13.4 red-black trees, rotations, search, insert, delete, fixup operations 17.0-17.4 amortized analysis aggregate analysis accounting method potential method dynamic tables 19.0-19.4 Fibonacci heaps, example of mergeable heaps make-heap, insert, minimum, extract-min, union, decrease-key, delete amortized analysis of Fibonacci heap operations