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

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