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 |