Lectures

Optional Readings

Introduction

Recursion and Backtracking

Sorting and Algorithm Analysis

  • Lafore: chapter 2 (only the sections on logarithms and big-O notation); chapter 3; chapter 7
  • Lafore presents an approach to quicksort that differs slightly from the version presented in lecture. The version in the lecture notes is based on one used by Cormen et al. in their book, Introduction to Algorithms (MIT Press).

Linked Lists

  • Lafore: chapter 5, pages 179-197

Lists, Stacks, and Queues

Binary Trees and Huffman Encoding; Binary Search Trees

  • Lafore: chapter 8, pages 365-421

Balanced Search Trees

  • Lafore: chapter 10, pages 492-506

Heaps and Priority Queues

Hash Tables

  • Lafore: chapter 11, pages 519-571

Graphs

  • Lafore: chapter 13, pages 615-660; chapter 14, pages 669-707, 710-713 (note: the MST algorithm that Lafore presents is Prim’s algorithm)
  • A good overview of minimum spanning trees is available here.