WGU C949 DATA STRUCTURES & ALGORITHMS
I STUDY GUIDE | LATEST UPDATE 2026/2027 |
PRACTICE QUESTIONS AND ANSWERS | EXAM
REVIEW | 100% CORRECT ANSWERS |
VERIFIED SOLUTIONS
This comprehensive practice examination is designed for students preparing for
the WGU C949 Data Structures & Algorithms I Objective Assessment, Version 2.
It serves as a complete study guide and exam review, reflecting the latest update
for 2026/2027. The questions are crafted to mirror the difficulty, scenario-based
style, and scope of the assessment, covering all essential domains including
algorithm analysis and Big O notation, arrays, linked lists, stacks, queues, hash
tables, trees, heaps, graphs, sorting, searching, recursion, and foundational
algorithm design techniques. By engaging with these practice questions and
answers, candidates can assess readiness, identify knowledge gaps, and reinforce
critical data structures and algorithms concepts. The detailed rationales provide
verified solutions, ensuring deep comprehension and enhancing preparation for
this competency-based assessment.
Table of Contents
1. Algorithm Analysis and Big O Notation
2. Arrays and Dynamic Arrays
3. Linked Lists
4. Stacks and Queues
5. Hash Tables
6. Trees and Binary Search Trees
7. Heaps and Priority Queues
8. Graphs and Graph Traversals
9. Sorting Algorithms
10. Searching Algorithms
11. Recursion and Recursive Algorithms
12. Algorithm Design Paradigms
, 2
Question 1: What is the primary purpose of Big O notation in algorithm analysis?
A) To measure the exact runtime of a program in seconds
B) To describe the upper bound of an algorithm's growth rate as input size
increases
C) To count the number of lines of code in an algorithm
D) To determine the programming language used
Correct Answer: B
Big O notation describes the asymptotic upper bound of an algorithm's time or
space complexity, focusing on growth rate rather than exact runtime. Option A is
incorrect because Big O ignores hardware and implementation details. Option C is
unrelated. Option D is incorrect.
Question 2: Which of the following represents constant time complexity?
A) O(n)
B) O(log n)
C) O(1)
D) O(n²)
Correct Answer: C
O(1) means the algorithm takes the same amount of time regardless of input size.
O(n) is linear, O(log n) is logarithmic, and O(n²) is quadratic.
Question 3: An algorithm that halves the search space with each comparison has
what time complexity?
, 3
A) O(n)
B) O(log n)
C) O(n log n)
D) O(1)
Correct Answer: B
Binary search repeatedly halves the search space, resulting in logarithmic time
O(log n). Linear search is O(n). Merge sort is O(n log n). Constant time is O(1).
Question 4: What is the time complexity of accessing an element in an array by
index?
A) O(1)
B) O(log n)
C) O(n)
D) O(n²)
Correct Answer: A
Array access by index is constant time O(1) because the memory address is
calculated directly. O(log n) is binary search, O(n) is linear search, and O(n²) is
quadratic.
Question 5: What is the worst-case time complexity of inserting an element at the
beginning of a dynamic array?
A) O(1)
B) O(log n)
, 4
C) O(n)
D) O(n²)
Correct Answer: C
Inserting at the beginning requires shifting all existing elements to the right, which
takes O(n) time. Appending at the end is typically O(1) amortized. O(log n) and
O(n²) are incorrect.
Question 6: Which data structure uses a last-in, first-out (LIFO) ordering?
A) Queue
B) Stack
C) Linked list
D) Heap
Correct Answer: B
A stack follows LIFO: the last element pushed is the first popped. A queue follows
FIFO. A linked list is a general structure. A heap is a tree-based structure with
priority ordering.
Question 7: Which data structure uses a first-in, first-out (FIFO) ordering?
A) Stack
B) Queue
C) Binary search tree
D) Hash table