CSE 373, Autumn 2001.

Final Exam Wednesday, Dec 19 (8:30-10:20am)

Closed book, one 8.5"x11" page (both sides) of notes.

The final exam will cover material from Chapters 1 through 9 in the Weiss book, along with any other material discussed in class, or that appeared on the homework and/or programming assignments.

Material you should know:

Everything listed in the midterm review.

Heaps:

Optimal binary search trees

Graphs

Union/Find algorithms

Sorting

Material NOT covered on the final exam:

Tips for studying:

Review definitions and general concepts.  Think about why we need various data structures.  (Why do we even want to have a priority queue? Or a graph?)  Work through examples of how the various data structures work.  Review the analysis for why the algorithms work correctly and why they run in the time they run. (Why does Kruskal's algorithm work?)

Briefly review your programming projects.  Think about the design decisions you needed to make.  What criteria did you use to make those decisions?

Review your homework.  For the problems that required a little analysis or a little more complicated reasoning, make sure you understand the parts of the solution and how they fit together.

Work on some suggested problems (as though they were exam problems) to see if there are gaps in your understanding.  If there are, then go back to the previous steps.

Carefully construct a notes sheet for the exam.  Be selective.  You can't include the whole book.  Things you might want to include: "memorization" types of information, such as what you are supposed to do in a splay or AVL tree in the zig-zig and zig-zag cases.  Or what double hashing is versus rehashing.  Or the code to buildHeap.  Concepts or ideas that you feel are difficult for you to understand.  Anything that you think you might have difficult remembering in an exam situation.