WGU C949 Data Structures and Algorithms|OA|OBJECTIVE
ASSESSMENT|EXPLORE NEW 102 ACTUAL QUESTIONS AND
ANSWERS|100% ACCURATE EXAM with Questions and Answers/Plus
a Rationale Updated 2026 A+/Instant Download PDF
EXAM COVERAGE
1. Asymptotic Analysis and Big O Notation
2. Linear Data Structures (Arrays, Linked Lists, Stacks, Queues)
3. Non-Linear Data Structures (Trees, Binary Search Trees, Heaps, Graphs)
4. Sorting and Searching Algorithms
5. Hash Tables and Collision Resolution Strategies
6. Algorithmic Design Paradigms (Greedy, Divide-and-Conquer, Dynamic Programming)
7. Recursion and Tree/Graph Traversal Techniques
1. An engineer is analyzing the time complexity of a recursive algorithm that divides the input
problem size into three equal sub-problems of size n/3 at each step, and takes $O(n^2)$ time to
combine the results. Using the Master Theorem, what is the asymptotic time complexity of this
algorithm?
A. $O(n^2)$
B. $O(n^3)$
C. $O(n^2 \log n)$
D. $O(n \log n)$
CORRECT ANSWER : A
Rationale: According to the Master Theorem for divide-and-conquer recurrences of the form
$T(n) = aT(n/b) + f(n)$, with $a=3$, $b=3$, and $f(n) = O(n^2)$, comparing $n^{\log_b a} =
, n^{\log_3 3} = n^1$ to $f(n) = n^2$ shows that $f(n)$ is polynomially larger by a factor of
$n^{2-1} = n$. Thus, the third case applies, and the complexity is bounded by $O(f(n)) =
O(n^2)$. Options B, C, and D misapply the asymptotic bounds of the Master Theorem.
2. A software developer is implementing a symbol table for a compiler and needs a dynamic
dictionary structure that guarantees worst-case logarithmic time complexity for search, insertion,
and deletion operations, while preventing worst-case linear degradation seen in standard binary
search trees. Which data structure is most appropriate?
A. Unsorted Singly Linked List
B. Standard Binary Search Tree
C. Self-balancing Binary Search Tree (such as an AVL Tree or Red-Black Tree)
D. Direct Address Table
CORRECT ANSWER : C
Rationale: Standard binary search trees can degenerate to a linear height of $O(n)$ in the worst
case, yielding $O(n)$ search and update times. Self-balancing binary search trees enforce height
invariants to guarantee $O(\log n)$ worst-case time for search, insertion, and deletion. Options
A and B fail to provide worst-case logarithmic performance, while Option D requires excessive
memory space.
3. A systems architect is designing a priority scheduler where tasks with higher priority must be
executed first. The system must support efficient insertion of new tasks and rapid extraction of
the highest-priority task. Which data structure provides the optimal balance of $O(\log n)$
insertion and extraction while maintaining an implicit tree structure?
A. Sorted Array
B. Binary Heap
C. Doubly Linked List
D. Hash Map
CORRECT ANSWER : B
Rationale: A binary heap maintains the heap property and supports both insertion and
extraction of the extremum in $O(\log n)$ time while being stored compactly as an implicit array
without explicit pointer overhead. Options A and C require linear time for insertions or
deletions, and Option D does not maintain ordered priorities efficiently.
,4. You are implementing a route-finding feature for a navigation application using Dijkstra's
algorithm on a sparse graph with $V$ vertices and $E$ edges. To achieve the most efficient time
complexity, which priority queue implementation should be paired with the adjacency list
representation?
A. Unsorted Array
B. Binary Min-Heap or Fibonacci Heap
C. Singly Linked List
D. Static Matrix
CORRECT ANSWER : B
Rationale: Utilizing a binary min-heap allows vertex extraction and edge relaxation to run in
$O((V + E) \log V)$ time, which is optimal for sparse graphs. Unsorted arrays or linked lists
would result in an inefficient $O(V^2 + E)$ time complexity, making them unsuitable for large-
scale graph analysis.
5. A software engineer needs to process a stream of data elements in a Last-In, First-Out (LIFO)
manner to implement an undo mechanism in a text editor. Which underlying data structure
implementation offers constant time $O(1)$ performance for both push and pop operations?
A. Circular Queue
B. Singly Linked List with head pointer insertion and deletion
C. Static Sorted Array with binary search insertion
D. Balanced Binary Search Tree
CORRECT ANSWER : B
Rationale: A stack requires LIFO access. Implementing a stack using a singly linked list where
insertions and deletions occur exclusively at the head node ensures $O(1)$ constant time
complexity for both push and pop operations. Options A, C, and D introduce unnecessary
overhead or suboptimal time complexities for basic stack operations.
6. In the context of hash table design, when multiple keys map to the same bucket index, collision
resolution can be handled via separate chaining. If separate chaining uses unsorted linked lists,
what is the worst-case time complexity for a search operation when all $n$ keys hash to the same
single bucket?
A. $O(1)$
, B. $O(\log n)$
C. $O(n)$
D. $O(n^2)$
CORRECT ANSWER : C
Rationale: When a hash collision causes all keys to aggregate into a single chain, searching the
hash table degrades to traversing an unsorted linked list of size $n$, resulting in a linear worst-
case time complexity of $O(n)$. Options A, B, and D misrepresent the linear degradation profile
of chained collisions.
7. A developer is sorting a large array of floating-point numbers that are uniformly distributed over
the interval $[0, 1)$. Which sorting algorithm can achieve a linear average-case time complexity
of $O(n)$ by distributing elements into multiple buckets and sorting each bucket individually?
A. Merge Sort
B. Quick Sort
C. Bucket Sort
D. Heap Sort
CORRECT ANSWER : C
Rationale: Bucket sort leverages the uniform distribution of input data to scatter elements into
separate buckets, sort each bucket (often using insertion sort), and concatenate them, achieving
$O(n)$ average time complexity. Options A, B, and D are comparison-based sorts bounded by
the $\Omega(n \log n)$ lower bound.
8. When analyzing the space and time trade-offs of sorting algorithms, which of the following
sorting algorithms is both in-place and unstable in its standard implementation?
A. Merge Sort
B. Quick Sort
C. Insertion Sort
D. Counting Sort
CORRECT ANSWER : B
ASSESSMENT|EXPLORE NEW 102 ACTUAL QUESTIONS AND
ANSWERS|100% ACCURATE EXAM with Questions and Answers/Plus
a Rationale Updated 2026 A+/Instant Download PDF
EXAM COVERAGE
1. Asymptotic Analysis and Big O Notation
2. Linear Data Structures (Arrays, Linked Lists, Stacks, Queues)
3. Non-Linear Data Structures (Trees, Binary Search Trees, Heaps, Graphs)
4. Sorting and Searching Algorithms
5. Hash Tables and Collision Resolution Strategies
6. Algorithmic Design Paradigms (Greedy, Divide-and-Conquer, Dynamic Programming)
7. Recursion and Tree/Graph Traversal Techniques
1. An engineer is analyzing the time complexity of a recursive algorithm that divides the input
problem size into three equal sub-problems of size n/3 at each step, and takes $O(n^2)$ time to
combine the results. Using the Master Theorem, what is the asymptotic time complexity of this
algorithm?
A. $O(n^2)$
B. $O(n^3)$
C. $O(n^2 \log n)$
D. $O(n \log n)$
CORRECT ANSWER : A
Rationale: According to the Master Theorem for divide-and-conquer recurrences of the form
$T(n) = aT(n/b) + f(n)$, with $a=3$, $b=3$, and $f(n) = O(n^2)$, comparing $n^{\log_b a} =
, n^{\log_3 3} = n^1$ to $f(n) = n^2$ shows that $f(n)$ is polynomially larger by a factor of
$n^{2-1} = n$. Thus, the third case applies, and the complexity is bounded by $O(f(n)) =
O(n^2)$. Options B, C, and D misapply the asymptotic bounds of the Master Theorem.
2. A software developer is implementing a symbol table for a compiler and needs a dynamic
dictionary structure that guarantees worst-case logarithmic time complexity for search, insertion,
and deletion operations, while preventing worst-case linear degradation seen in standard binary
search trees. Which data structure is most appropriate?
A. Unsorted Singly Linked List
B. Standard Binary Search Tree
C. Self-balancing Binary Search Tree (such as an AVL Tree or Red-Black Tree)
D. Direct Address Table
CORRECT ANSWER : C
Rationale: Standard binary search trees can degenerate to a linear height of $O(n)$ in the worst
case, yielding $O(n)$ search and update times. Self-balancing binary search trees enforce height
invariants to guarantee $O(\log n)$ worst-case time for search, insertion, and deletion. Options
A and B fail to provide worst-case logarithmic performance, while Option D requires excessive
memory space.
3. A systems architect is designing a priority scheduler where tasks with higher priority must be
executed first. The system must support efficient insertion of new tasks and rapid extraction of
the highest-priority task. Which data structure provides the optimal balance of $O(\log n)$
insertion and extraction while maintaining an implicit tree structure?
A. Sorted Array
B. Binary Heap
C. Doubly Linked List
D. Hash Map
CORRECT ANSWER : B
Rationale: A binary heap maintains the heap property and supports both insertion and
extraction of the extremum in $O(\log n)$ time while being stored compactly as an implicit array
without explicit pointer overhead. Options A and C require linear time for insertions or
deletions, and Option D does not maintain ordered priorities efficiently.
,4. You are implementing a route-finding feature for a navigation application using Dijkstra's
algorithm on a sparse graph with $V$ vertices and $E$ edges. To achieve the most efficient time
complexity, which priority queue implementation should be paired with the adjacency list
representation?
A. Unsorted Array
B. Binary Min-Heap or Fibonacci Heap
C. Singly Linked List
D. Static Matrix
CORRECT ANSWER : B
Rationale: Utilizing a binary min-heap allows vertex extraction and edge relaxation to run in
$O((V + E) \log V)$ time, which is optimal for sparse graphs. Unsorted arrays or linked lists
would result in an inefficient $O(V^2 + E)$ time complexity, making them unsuitable for large-
scale graph analysis.
5. A software engineer needs to process a stream of data elements in a Last-In, First-Out (LIFO)
manner to implement an undo mechanism in a text editor. Which underlying data structure
implementation offers constant time $O(1)$ performance for both push and pop operations?
A. Circular Queue
B. Singly Linked List with head pointer insertion and deletion
C. Static Sorted Array with binary search insertion
D. Balanced Binary Search Tree
CORRECT ANSWER : B
Rationale: A stack requires LIFO access. Implementing a stack using a singly linked list where
insertions and deletions occur exclusively at the head node ensures $O(1)$ constant time
complexity for both push and pop operations. Options A, C, and D introduce unnecessary
overhead or suboptimal time complexities for basic stack operations.
6. In the context of hash table design, when multiple keys map to the same bucket index, collision
resolution can be handled via separate chaining. If separate chaining uses unsorted linked lists,
what is the worst-case time complexity for a search operation when all $n$ keys hash to the same
single bucket?
A. $O(1)$
, B. $O(\log n)$
C. $O(n)$
D. $O(n^2)$
CORRECT ANSWER : C
Rationale: When a hash collision causes all keys to aggregate into a single chain, searching the
hash table degrades to traversing an unsorted linked list of size $n$, resulting in a linear worst-
case time complexity of $O(n)$. Options A, B, and D misrepresent the linear degradation profile
of chained collisions.
7. A developer is sorting a large array of floating-point numbers that are uniformly distributed over
the interval $[0, 1)$. Which sorting algorithm can achieve a linear average-case time complexity
of $O(n)$ by distributing elements into multiple buckets and sorting each bucket individually?
A. Merge Sort
B. Quick Sort
C. Bucket Sort
D. Heap Sort
CORRECT ANSWER : C
Rationale: Bucket sort leverages the uniform distribution of input data to scatter elements into
separate buckets, sort each bucket (often using insertion sort), and concatenate them, achieving
$O(n)$ average time complexity. Options A, B, and D are comparison-based sorts bounded by
the $\Omega(n \log n)$ lower bound.
8. When analyzing the space and time trade-offs of sorting algorithms, which of the following
sorting algorithms is both in-place and unstable in its standard implementation?
A. Merge Sort
B. Quick Sort
C. Insertion Sort
D. Counting Sort
CORRECT ANSWER : B