The course can be broken up into nine general topics:
There are 36 lectures in a semester and the material covered in each of the lectures is listed in Table 1. There are five 15-minute quizzes given throughout the semester; the material taught during the first 31 lectures is tested in the quiz number given in the third column.
Table 1. Lectures for ECE 250 Data Structures and Algorithms.
Week | Lecture | Topics |
---|---|---|
1 | 1. | Course Introduction |
2 | A Mathematical Review | |
3. | C++ | |
3 | 4. | Containers, Relations and Abstract Data Types |
5. | Data Structures and Algorithms | |
6. | Asymptotic Analysis | |
3 | 7. | Algorithm Analysis |
8. | Algorithm Analysis | |
9. | Lists and Stacks | |
4 | 10. | Queues and Deques |
11. | General Trees and Tree Traversals | |
12. | Binary Trees, Perfect Binary Trees, Complete Binary Trees, and N-ary Trees | |
5 | 13. | Binary Search Trees |
14. | Balanced Trees and Average Binary Search Trees | |
15. | AVL Trees | |
6 | 16. | AVL Trees |
17. | B-Trees | |
18. | B-Trees | |
7 | 19. | Priority Queues and Heaps |
20. | Insertion Sort and Bubble Sort | |
21. | Heap Sort and Merge Sort | |
8 | 22. | Quick Sort |
23. | Bucket Sort and Radix Sort | |
24. | Hash Functions and Chained Hash Tables | |
9 | 25. | Open Addressing and Linear Probing |
26. | Double Hashing | |
27. | Graphs and Topological Sorting | |
10 | 28. | Minimum Spanning Trees (Prim's Algorithm) |
29. | Shortest Path Algorithms (Dijkstra's Algorithm) | |
30. | Greedy Algorithms | |
11 | 31. | Divide and Conquer |
32. | Dynamic Programming | |
33. | Randomized Algorithms | |
12 | 34. | Backtracking Algorithms |
35. | NP Completeness and Sparse Matrix Implementations | |
36. | Review |