Text: "Data Structures and Algorithms in Java",
Drozdek, Brooks/Cole, 2001.
Additional review handouts/problem solutions as necessary.
Midterm exam: October 19 (one page of notes).
Final exam: December 20, 12-3PM ** (one page of notes)
** may be changed to an earlier date
List of Topics
Algorithm analysis issues and techniques; stacks, queues,
linked lists.
Trees; representations, traversals. Search trees, balanced
trees. Heaps, Binomial Heaps.
Sorting; quicksort, heapsort, efficiency bounds. Merging
ordered lists.
Algorithm techniques: divide-and-conquer, dynamic programming,
optimal binary search trees. External search; B-Trees.
Hashing.
Graph representations and traversals, depth-first and breadth-first
search. Graph algorithms; minimum spanning trees, shortest paths.
Union-find; application to minimum spanning tree.
There will be two reasonably difficult programming assignments
in Java.