Basic data structures: Heaps, and Binary Search Trees. Algorithm Design Approaches: Divide and Conquer including analysis using recurrences Greedy Algorithms Dynamic Programming Algorithms Algorithms ...