Why This Document Matters
This study guide is essential for students enrolled in CS 25100 who are preparing for their first major assessment. It serves as a focused review tool, helping students prioritize their study efforts and understand the scope of the exam. It’s most useful during the week leading up to the midterm, as a checklist to ensure comprehensive preparation.
Common Limitations or Challenges
This study guide is a *review* resource, not a substitute for attending lectures, completing assignments, or thoroughly reading the course materials. It does not provide in-depth explanations of the concepts, nor does it include practice problems with solutions. Students will still need to actively engage with the course content to succeed.
What This Document Provides
The full study guide includes:
* A list of core topics: Proof Techniques, Stacks, Queues, Deques, Sorting Methods (Selection, Insertion, Shell, Quick, Merge, Heap), Priority Queues, Symbol Tables, Binary Search Trees, Balanced Search Trees (2-3 Trees, Red-Black Trees), Hash Tables, and Graphs.
* A summary of Time Complexity concepts (Big O, Big Theta, Big Omega) and their application.
* Pseudocode examples for several sorting algorithms and search methods.
* A table comparing the time and space complexity of different sorting algorithms, including stability and in-place properties.
* Definitions of important terms like modular hashing and infix/prefix/postfix notation.
* A list of key data structures covered in the course.