These notes are placed here primarily to assist students enrolled in the course; they are not intended as polished documents. All notes are copyright © Russell C. Bjork. Students enrolled in CPS222 may reproduce these notes for personal study and anyone is free to use them for personal reference; all other rights are reserved.

  1. Course Introduction; Introduction to C++
  2. Recursion
  3. Algorithm Analysis
  4. Lists
  5. Pointers and References in C++
  6. Implementing Linked Lists"
  7. Stacks
  8. Queues
  9. Trees and Forests
  10. Binary Trees
  11. Heaps
  12. Maps and Binary Search Trees
  13. Threaded Binary Search Trees
  14. Hashing
  15. Balanced Binary Search Trees
  16. Skip Lists
  17. Disk Based Search Structures; BTrees
  18. Sorting
  19. Graphs
  20. Sets
  21. Pattern Matching in Strings
  22. Algorithm Design
  23. Parallel Algorithms