Data Structures and Algorithm Analysis (CS340) [NIU]

Course Description

The application of analysis and design techniques to non-numeric algorithms on data structures. The utilization of algorithmic analysis and design criteria in the selection of methods for data manipulation. This course will continue to hone your skills as a developer and strengthen your understanding of C++ as it applies to data structures.

Course Material
Material Covered
  • Standard Template Library
    • Containers
      • Sequence containers: string, vector, stack, queue, deque, list
      • Associative containers: set, multiset, map, multimap
    • Iterators
    • Algorithms
      • Non-modifying sequence operations
      • Modifying sequence operations
      • Sorting
  • Binary Trees
    • Trees, Binary Trees, and Binary Search Trees
    • Implementing Binary Trees
    • Insertion and Deletion
  • Balancing a Tree – AVL Trees
  • Heaps
    • Heaps as Priority Queues
    • Organizing Arrays as Heaps
  • B-Trees
  • Hashing
    • Hash Functions
    • Collision Resolution
    • Deletion
  • Graphs
    • Graph Representation
    • Graph Traversals
    • Shortest Paths
    • Cycle Detection
    • Spanning Trees
Grading
  • Assignments 25%
  • Quizzes 12.5%
  • Exam 1 12.5%
  • Exam 2 12.5%
  • Exam 3 12.5%
  • Exam 4 (Final Exam) 25%