Back to Blog
Education8 min readJan 15, 2026
UW CSE 373 Study Guide: Master Data Structures and Algorithms Exams
M
Michael T.
CS Education Specialist
TL;DR
A complete study guide for UW CSE 373 exams with strategies for mastering data structures, algorithms, and practice techniques to boost your performance.
Data Structures and Algorithms (CSE 373) at the University of Washington is a challenging course that builds critical computer science foundations. Whether you're struggling with abstract data types or algorithm analysis, this comprehensive UW CSE 373 study guide will help you prepare effectively for midterms and finals. We'll cover key concepts, study strategies, and provide resources to help you excel in one of UW's most important CS courses.
Understanding the CSE 373 Exam Format
Before diving into study strategies, it's essential to understand what you're preparing for. CSE 373 exams typically include:
- Algorithm analysis questions (Big-O complexity)
- Data structure implementation details
- Conceptual questions about abstract data types
- Coding problems requiring you to implement or modify algorithms
- Proof-based questions on algorithmic correctness
Master Abstract Data Types and Implementations
A significant portion of CSE 373 exams tests your understanding of abstract data types (ADTs) and their implementations. Focus on:
- Lists, stacks, queues, and their operations
- Trees (binary, AVL, red-black, B-trees)
- Hash tables and collision resolution strategies
- Priority queues and heaps
- Graphs and their representations
- Its abstract properties and operations
- Time and space complexity of operations
- Implementation details and tradeoffs
- Common applications and use cases
Algorithm Analysis Techniques
Algorithm analysis is a cornerstone of CSE 373. Expect exam questions that ask you to:
- Determine the time complexity of algorithms (best, average, worst case)
- Compare efficiency of different algorithms for the same problem
- Identify bottlenecks in algorithmic implementations
- Understand space-time tradeoffs
- Tracing through code with sample inputs
- Counting operations systematically
- Identifying dominant terms in complexity expressions
- Recognizing common complexity classes (constant, logarithmic, linear, etc.)
Mastering Key Algorithms
CSE 373 covers several important algorithm categories that you should thoroughly understand:
- Sorting algorithms: Insertion sort, selection sort, merge sort, quicksort, heapsort
- Graph algorithms: BFS, DFS, Dijkstra's, Kruskal's, Prim's
- Dynamic programming: Understanding overlapping subproblems and optimal substructure
- Divide and conquer: Problem decomposition and solution combination
- Greedy algorithms: Making locally optimal choices
- Execute the algorithm by hand on example inputs
- Explain why the algorithm works (correctness)
- Analyze its time and space complexity
- Identify situations where it performs well or poorly
Practice Problems and Mock Exams
Consistent practice is the key to success in CSE 373. Develop a practice routine that includes:
- Working through previous years' exams (available on the course website)
- Completing textbook exercises and challenge problems
- Participating in study groups to discuss complex concepts
- Creating your own practice problems based on lecture topics
Building a Comprehensive Study System
Creating a structured study system is crucial for mastering the breadth of CSE 373 material. Consider these approaches:
- Develop concept maps connecting related algorithms and data structures
- Create algorithm implementation templates you can quickly recall
- Maintain a "mistakes journal" to track and learn from errors
- Schedule regular review sessions for spaced repetition
Exam-Day Strategies
When exam day arrives, follow these strategies for optimal performance:
- Skim the entire exam first to budget your time effectively
- Start with questions you're confident about to build momentum
- For algorithm analysis questions, clearly show your work
- If stuck on a problem, move on and return later
- When analyzing code, trace through with a simple example
Conclusion: Your Path to CSE 373 Success
Mastering UW CSE 373 requires systematic preparation, consistent practice, and a deep understanding of fundamental concepts. By following this UW CSE 373 study guide, you'll be well-equipped to tackle even the most challenging exam questions. Remember that success in algorithms courses comes from actively engaging with the material,implementing algorithms, solving problems, and connecting concepts,rather than passive reading or memorization. Build your study system, practice consistently, and approach exams with confidence. Looking to optimize your study process for challenging courses like CSE 373? NoteNest's AI-powered note-taking tools can help you organize complex algorithms concepts, visualize data structures on an infinite canvas, and convert your notes to flashcards for effective review. Try NoteNest today to transform how you prepare for your computer science courses and build a personal knowledge system that will serve you throughout your academic journey.
Tags
UW CSE 373AlgorithmsData StructuresComputer ScienceStudy Guide