Midterm Topics

1 Introduction
2 Time and computational complexities of algorithms, Asymptotic notations
3 Sorting algorithms (Merge, Heap,Quick,Insertion,Bubble,Selection, Counting Sort)
4 Searching algorithms(Linear, Binary)
5 Divide and Conquer (Inversion Count, MSSC, will be updated=
6 Recurrence relations
7. Graph (BFS DFS )
8. Greedy Algorithms (Make Change/Coin Change, Interval Scheduling(Activity Selection, Fractional Knapsak)
9 Dynamic Programming (LCS, Coin Change, 01 Knapsack)
 

Strongly Suggested Exercises in terms of C++ implementations

1. Printing coins as a result of the Greedy Algorithm

2. Printing coins as a result of DP.  (You need to understand DP solution)

3. Printing the LCS string as a result of the LCS Algorithm)

Final exam format: The final exam will consist of 15–20 short-answer questions (answers will be brief and to the point).