everything.study
CSCI 0500

Data Structures, Algorithms, and Intractability: An Introduction

This course will cover the basics of how to design and analyze data structures and algorithms. We will develop algorithmic intuition through rigorous analysis of algorithmic correctness and performance. We will also study the theory of NP-completeness, which helps us understand which problems are computationally intractable.

Fall 2026

Topics

  • Asymptotic analysis
  • Sorting and selection
  • Fast arithmetic
  • Hash tables and universal hashing
  • Priority queues and binary search trees
  • Bipartite matching and 2-SAT
  • Shortest paths and dynamic programming
  • NP-completeness

Readings

  • Algorithmic Foundations: Data Structures, Algorithms, and Intractability
    Philip N. Klein · Course textbook
Sources