CS 340: Data Structures and Algorithm Analysis [NIU]
Application of analysis and design techniques to non-numeric algorithms on data structures. Utilization of algorithmic analysis and design criteria in the selection of methods for data manipulation.
Course Material
- N. Dale, C. Weems and T. Richards, C++ Plus Data Structures, Jones and Barlett Learning, 2016
Grading
- Assignments 25%
- Quizzes 12.5%
- Exam 1 12.5%
- Exam 2 12.5%
- Exam 3 12.5%
- Exam 4 (Final Exam) 25%
Schedule
| Week | Topic |
|---|---|
| 1 | Standard Template Library: Sequence Containers string, vector, stack, queue, deque, list |
| 2 | Standard Template Library: Associative Containers set, multiset, map, multimap |
| 3 | STL: Iterators and Algorithms Non-modifying and modifying sequence operations, sorting. |
| 4 | Binary Trees Trees, binary trees, and binary search trees. |
| 5 | Implementing Binary Trees Insertion and deletion. |
| 6 | Balancing a Tree — AVL Trees |
| 7 | Heaps Heaps as priority queues, organizing arrays as heaps. |
| 8 | B-Trees |
| 9 | Hashing Hash functions, collision resolution, deletion. |
| 10 | Graphs: Representation and Traversals |
| 11 | Graphs: Shortest Paths and Cycle Detection |
| 12 | Graphs: Spanning Trees |