Podcast Beta
Questions and Answers
What are the two types of complexity discussed for assessing algorithms?
If a method's Big-O is stated as O(1) and it also contains a loop, what does this imply about the loop?
Which statement accurately describes 'best case', 'worst case', and 'average case' Big-O?
What is the formal definition of Big-O?
Signup and view all the answers
When converting functions to Big-O, what is the Big-O of the expression $10n + O(lg(n))$?
Signup and view all the answers
Which of the following data structures allows for dynamic resizing?
Signup and view all the answers
What is the primary focus of Section 20.1-20.2?
Signup and view all the answers
Which option describes a characteristic of a stack data structure?
Signup and view all the answers
Which of the following is NOT a common method of handling collisions in hashing?
Signup and view all the answers
In tree data structures, what is the purpose of tree traversals?
Signup and view all the answers
What is a property of a binary tree?
Signup and view all the answers
What is the main concept behind priority queues?
Signup and view all the answers
Which section discusses recursion in relation to trees?
Signup and view all the answers
What is required to bring to the exam in addition to a photo ID?
Signup and view all the answers
Which coding language should students be comfortable coding in for the exam?
Signup and view all the answers
What kind of questions might the non-coding portion of the exam include?
Signup and view all the answers
What should a student do if they do not have a suitable photo ID at the time of the exam?
Signup and view all the answers
What is one suggested method to prepare for the exam?
Signup and view all the answers
Which type of exam question format is not mentioned as being part of the exam?
Signup and view all the answers
Regarding algorithm analysis, what is expected of students?
Signup and view all the answers
What is an essential resource mentioned for exam preparation?
Signup and view all the answers
Study Notes
Midterm Exam Study Guide
-
Exam Information:
- The exam will test knowledge of definitions, terminology, code reading, and writing.
- Expect True/False, multiple-choice, short answers, and coding questions in Java 9 or higher.
- Code-reading questions may involve understanding code execution flow, determining the status of data structures, and predicting output.
-
Required Materials:
- Photo ID (GMU ID preferred, but other forms like driver's license, state ID, passport are acceptable)
- One-sided handwritten note sheet (8.5"x11") or a blank sheet of paper for scratch work
-
Preparation Strategy:
- Review Examples/Exercises/Warm-ups questions from class
- Practice exercises from the textbook
- Create your own practice problems
-
Reading List for Review:
-
Big-O:
- Chapter 5: Algorithm Analysis
- Section 5.3: Understand the theorems, but not necessarily their proofs.
-
Lists:
- Section 6.1-6.3, 6.5: General Lists
- Chapter 15: Dynamic Array / Array List
- Chapter 17: Linked List
-
Stacks / Queues / Priority Queues:
- Section 6.6: Stack/Queue Concepts
- Chapter 16.1-16.3: Stack/Queue Implementation
- Section 6.9: Priority Queues
-
Hashing:
- Section 20.1-20.2: Hashing Basics and Hash Functions
- Section 20.5: Separate Chaining
- Section 20.3-20.4: Open Addressing
- Section 20.6-20.7: Comparisons and Applications
-
Trees:
- Section 18.1: Tree Basics, Binary Trees
- Section 7.1-7.3: Recursion
- Section 18.3-18.4: Tree Recursions, Tree Traversals
-
Big-O:
-
Purpose of the Study Guide:
- Self-assess your knowledge by identifying strengths and weaknesses.
- Use provided resources (notes, textbook) to fill knowledge gaps and review forgotten details.
- Judge your understanding by comparing your answers to past examples, assignments, and textbook exercises.
-
Importance of self-learning:
- The study guide is not meant to provide answers, but to facilitate the learning process.
- Focus on understanding the material, not just memorizing answers.
- The provided resources offer a wealth of questions and answers. This guide helps you self-assess and identify areas for improvement.
-
Sample Review Questions (not exhaustive):
Big-O
- What are the two types of complexity for algorithm analysis?
- Describe time/space complexity with a real-life example.
- Convert functions into Big-O notation.
- Compute time complexity and Big-O for your own code samples, explaining variables.
- Describe a loop within a method with O(1) Big-O.
- Explain the difference between best case, worst case, and average case Big-O.
- Provide the formal definition of Big-O notation.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Prepare for your Midterm Exam in Java 9 with this comprehensive study guide. It includes key exam information, required materials, and effective preparation strategies. Focus on algorithm analysis, code reading, and problem-solving to excel in your exam.