CSE 373: Data Structures and Algorithms (Winter 2016)

Final Exam Information

Exam Policies

  • Closed book
  • Closed notes
  • No calculators or other electronic devices
  • Begins promptly at 2:30 and ends promptly at 4:20 on Tuesday, March 15

Topics Covered

The final exam is "cumulative." There will be somewhat more weight on post-midterm material. However, you are advised to master any first-half material you missed on the midterm and study all the topics listed on the midterm information page, including those that were not actually tested.

All material covered on the exam will have been discussed in class and included in the posted lecture materials though you may be asked to apply ideas in slightly new ways.

Exam Format and Sample Finals

Our exam will consist of various types of short-answer questions. You may be asked to write or read Java code or pseudocode. Below are several sample exams from prior offerings of CSE 373 but please understand these caveats:

  • Topics covered on these exams may not be the exact same topics covered on our exam; please see above for the topics covered on our exam.
  • The sample exams are provided as a study guide, not as any guarantee of the format of our actual midterm in terms of length or type of questions. We think you will find the actual exam somewhat familiar compared to the sample midterms, but some differences are likely.
  • Below we have repeated the sample midterms from the study guide for the midterm. Because our final exam is cumulative, it makes sense to provide questions from old midterm exams. In addition, we have provided a few additional sample questions, but we do not have as many available.

Sample exams:

Midterm 1:

Midterm 2:

Final exam:

Some additional questions   unsolved   solved


  • We encourage students to post their own questions for others on the discussion board or send the staff suggestions.

Additional Study Suggestions

  • Re-work problems from lecture and assignments.
  • Practice all the operations on stacks and queues, binary search trees, AVL trees, binary min heaps, union-find, hash tables.
  • Practice hand-simulation of topological sorting, computing minimum spanning trees with Kruskal's algorithm, finding shortest paths with Dijkstra's algorithm, depth-first and breadth-first search of graphs, and sorting via Insertion Sort, Selection Sort, Heap Sort, Merge Sort, Quick Sort, and Radix Sort.
  • Practice analysis of algorithms, including finding values of c and n0 to show that one function is in big O of another.
 University of Washington, Winter, 2016