WGU C949 DATA STRUCTURES AND ALGORITHMS I:
COMPREHENSIVE PRACTICE EXAMINATION STUDY
GUIDE | LATEST UPDATE 2026/2027 | ACTUAL EXAM
PRACTICE QUESTIONS AND ANSWERS | EXAM
REVIEW | 100% CORRECT ANSWERS MOST RECENT.
This comprehensive practice examination is designed for students
preparing for the WGU C949 Data Structures and Algorithms I Objective
Assessment. The course covers foundational data structures and
algorithms, including arrays, linked lists, stacks, queues, trees, graphs,
hash tables, searching, sorting, recursion, complexity analysis, and
implementation in Python. The exam is split between conceptual
multiple-choice questions and applied reasoning scenarios. This
resource is intended to help candidates assess their readiness, identify
knowledge gaps, and strengthen their preparation for the certification
examination.
Table of Contents
1. Algorithm Analysis and Asymptotic Notation (Big O, Theta,
Omega)
2. Recursion and Recursive Algorithms
3. Searching Algorithms (Linear Search, Binary Search)
4. Basic Sorting Algorithms (Bubble Sort, Insertion Sort, Selection
Sort)
5. Advanced Sorting Algorithms (Merge Sort, Quick Sort, Heap Sort)
6. Linked Lists (Singly, Doubly, and Circular)
7. Stacks and Queues
, 8. Hash Tables and Hashing
9. Trees (Binary Trees, Binary Search Trees, AVL Trees, B-Trees)
10. Graphs (Representations, Traversals, and Applications)
1. What is Big O notation used for in algorithm analysis?
A) To define the exact running time of an algorithm
B) To describe the upper bound of an algorithm's growth
rate
C) To measure the space complexity of an algorithm
D) To represent the lower bound of an algorithm's growth
rate
Correct Answer: B
Rationale: Big O notation describes the asymptotic upper bound of an
algorithm's growth rate, providing a worst-case scenario for
performance. Theta (Θ) describes both upper and lower bounds, Omega
(Ω) describes the lower bound.
2. Which of the following complexity classes is the most efficient?
A) O(n²)
B) O(n log n)
C) O(log n)
D) O(n)
Correct Answer: C
Rationale: O(log n) is the most efficient among the listed options.
,Complexity classes from most to least efficient: O(1) < O(log n) < O(n) <
O(n log n) < O(n²) < O(n³) < O(2ⁿ) < O(n!).
3. What is the time complexity of linear search in an unsorted array
of size n?
A) O(1)
B) O(log n)
C) O(n)
D) O(n²)
Correct Answer: C
Rationale: Linear search requires scanning each element one by one in
the worst case, making its time complexity O(n).
4. What is the time complexity of binary search in a sorted array of
size n?
A) O(1)
B) O(log n)
C) O(n)
D) O(n log n)
Correct Answer: B
Rationale: Binary search divides the search space in half with each step,
resulting in a time complexity of O(log n).
5. Which of the following is the worst-case time complexity of
Bubble Sort?
A) O(n)
B) O(n log n)
C) O(n²)
D) O(log n)
, Correct Answer: C
Rationale: Bubble Sort has a worst-case time complexity of O(n²) when
the array is sorted in reverse order.
6. What is the time complexity of Merge Sort in all cases?
A) O(n²)
B) O(n log n)
C) O(n)
D) O(log n)
Correct Answer: B
Rationale: Merge Sort consistently achieves O(n log n) time complexity
in all cases (best, average, and worst).
7. Which sorting algorithm has the best average-case time
complexity?
A) Quick Sort
B) Merge Sort
C) Heap Sort
D) All of the above
Correct Answer: D
Rationale: Quick Sort, Merge Sort, and Heap Sort all have average-case
time complexity of O(n log n).
8. What is the time complexity of the partition step in Quick Sort?
A) O(1)
B) O(log n)
C) O(n)
D) O(n log n)
COMPREHENSIVE PRACTICE EXAMINATION STUDY
GUIDE | LATEST UPDATE 2026/2027 | ACTUAL EXAM
PRACTICE QUESTIONS AND ANSWERS | EXAM
REVIEW | 100% CORRECT ANSWERS MOST RECENT.
This comprehensive practice examination is designed for students
preparing for the WGU C949 Data Structures and Algorithms I Objective
Assessment. The course covers foundational data structures and
algorithms, including arrays, linked lists, stacks, queues, trees, graphs,
hash tables, searching, sorting, recursion, complexity analysis, and
implementation in Python. The exam is split between conceptual
multiple-choice questions and applied reasoning scenarios. This
resource is intended to help candidates assess their readiness, identify
knowledge gaps, and strengthen their preparation for the certification
examination.
Table of Contents
1. Algorithm Analysis and Asymptotic Notation (Big O, Theta,
Omega)
2. Recursion and Recursive Algorithms
3. Searching Algorithms (Linear Search, Binary Search)
4. Basic Sorting Algorithms (Bubble Sort, Insertion Sort, Selection
Sort)
5. Advanced Sorting Algorithms (Merge Sort, Quick Sort, Heap Sort)
6. Linked Lists (Singly, Doubly, and Circular)
7. Stacks and Queues
, 8. Hash Tables and Hashing
9. Trees (Binary Trees, Binary Search Trees, AVL Trees, B-Trees)
10. Graphs (Representations, Traversals, and Applications)
1. What is Big O notation used for in algorithm analysis?
A) To define the exact running time of an algorithm
B) To describe the upper bound of an algorithm's growth
rate
C) To measure the space complexity of an algorithm
D) To represent the lower bound of an algorithm's growth
rate
Correct Answer: B
Rationale: Big O notation describes the asymptotic upper bound of an
algorithm's growth rate, providing a worst-case scenario for
performance. Theta (Θ) describes both upper and lower bounds, Omega
(Ω) describes the lower bound.
2. Which of the following complexity classes is the most efficient?
A) O(n²)
B) O(n log n)
C) O(log n)
D) O(n)
Correct Answer: C
Rationale: O(log n) is the most efficient among the listed options.
,Complexity classes from most to least efficient: O(1) < O(log n) < O(n) <
O(n log n) < O(n²) < O(n³) < O(2ⁿ) < O(n!).
3. What is the time complexity of linear search in an unsorted array
of size n?
A) O(1)
B) O(log n)
C) O(n)
D) O(n²)
Correct Answer: C
Rationale: Linear search requires scanning each element one by one in
the worst case, making its time complexity O(n).
4. What is the time complexity of binary search in a sorted array of
size n?
A) O(1)
B) O(log n)
C) O(n)
D) O(n log n)
Correct Answer: B
Rationale: Binary search divides the search space in half with each step,
resulting in a time complexity of O(log n).
5. Which of the following is the worst-case time complexity of
Bubble Sort?
A) O(n)
B) O(n log n)
C) O(n²)
D) O(log n)
, Correct Answer: C
Rationale: Bubble Sort has a worst-case time complexity of O(n²) when
the array is sorted in reverse order.
6. What is the time complexity of Merge Sort in all cases?
A) O(n²)
B) O(n log n)
C) O(n)
D) O(log n)
Correct Answer: B
Rationale: Merge Sort consistently achieves O(n log n) time complexity
in all cases (best, average, and worst).
7. Which sorting algorithm has the best average-case time
complexity?
A) Quick Sort
B) Merge Sort
C) Heap Sort
D) All of the above
Correct Answer: D
Rationale: Quick Sort, Merge Sort, and Heap Sort all have average-case
time complexity of O(n log n).
8. What is the time complexity of the partition step in Quick Sort?
A) O(1)
B) O(log n)
C) O(n)
D) O(n log n)