Written by students who passed Immediately available after payment Read online or as PDF Wrong document? Swap it for free 4.6 TrustPilot
logo-home
Document preview thumbnail
Preview 3 out of 17 pages
Exam (elaborations)

WGU C949 DATA STRUCTURES & ALGORITHMS I EXAM 2026/2027 | Version 1 Verified Q&A | 100% Correct Grade A | Pass Guaranteed

Document preview thumbnail
Preview 3 out of 17 pages

Pass the WGU C949 Data Structures and Algorithms I Objective Assessment with this complete 2026/2027 Version 1 guide featuring verified questions and answers, graded A. This A+ Graded resource covers all essential topics including arrays, linked lists, stacks, queues, trees, graphs, sorting algorithms, searching algorithms, algorithmic complexity (Big O), and recursion. Each answer is verified and aligned with the latest WGU C949 curriculum. Perfect for computer science and IT students seeking comprehensive exam preparation. With our Pass Guarantee, you can study with confidence. Download your complete WGU C949 Objective Assessment guide instantly!

Content preview

WGU C949 Data Structures and Algorithms I Objective Assessment Version 1 | 2026/2027




WGU C949 Objective Assessment
Data Structures and Algorithms I | Version 1
Questions and Verified Answers | 100% Correct | Grade A


70 Questions | Latest 2026/2027 Curriculum Alignment
Aligned with WGU C949 Competencies: Data Type Implementation and Dynamic Data Structures




Section 1: Abstract Data Types (ADTs) and Data Types
Exam Weight: 36% | Questions 1-25

Q1: Which of the following best describes an Abstract Data Type (ADT)?
A. A specific implementation using arrays and pointers
B. A data type described by predefined user operations without specifying implementation [CORRECT]
C. A low-level memory allocation scheme used by the operating system
D. A programming language construct for defining classes and objects
Correct Answer: B
Rationale: An ADT is defined by its operations (what it does) rather than its implementation (how it does it). For example, a
List ADT specifies operations like add, remove, and get but does not dictate whether an array or linked list is used. Option A
describes a data structure (implementation), not an ADT. Option C describes memory management, and Option D describes
object-oriented programming constructs.


Q2: Which of the following best describes a Data Structure?
A. A collection of operations defined for storing and retrieving data
B. A mathematical model for data organization with predefined behavior
C. A specific implementation of data storage in memory with defined algorithms [CORRECT]
D. A type system that enforces strong typing at compile time
Correct Answer: C
Rationale: A data structure provides the concrete implementation of data storage and the algorithms to manipulate it. For
example, an array-based list or a linked list are data structures that implement the List ADT. Option A and B describe an
ADT (operations and behavior without implementation details). Option D describes a type system, which is a language
feature, not a data structure.


Q3: A software engineer needs to store a collection of grocery items where duplicates are allowed and order
does not matter. Which ADT is most appropriate?
A. Set
B. List
C. Bag [CORRECT]
D. Dictionary
Correct Answer: C




Page 1

,WGU C949 Data Structures and Algorithms I Objective Assessment Version 1 | 2026/2027



Rationale: A Bag (also called a multiset) stores items in no particular order and allows duplicates. This matches the
requirement for grocery items where duplicates are allowed and order is irrelevant. A Set does not allow duplicates. A List
maintains a specific order of elements, which is not needed here. A Dictionary stores key-value pairs, which is unnecessary
for simply collecting items.


Q4: Which ADT stores unique elements with no specific order and does not allow duplicate values?
A. Bag
B. List
C. Map
D. Set [CORRECT]
Correct Answer: D
Rationale: A Set is an ADT that stores unique elements with no specific order and explicitly prohibits duplicates. A Bag allows
duplicates. A List maintains ordered elements and allows duplicates. A Map (Dictionary) stores key-value pairs rather than a
simple collection of unique elements, making it a different conceptual model.


Q5: Which ADT provides access to elements by their position in an ordered sequence?
A. Bag
B. Set
C. List [CORRECT]
D. Map
Correct Answer: C
Rationale: A List ADT maintains elements in a specific order and supports access by position (index). Elements can be
inserted, removed, or retrieved at any position. A Bag has no ordering. A Set has no ordering and no positional access. A Map
provides access by key, not by position.


Q6: A programmer needs to store student records where each student ID maps to a specific student name and
GPA. Which ADT is most appropriate?
A. List
B. Bag
C. Set
D. Dictionary (Map) [CORRECT]
Correct Answer: D
Rationale: A Dictionary (also called a Map) stores key-value pairs, allowing efficient lookup of a value (student name and
GPA) by its key (student ID). A List would require linear search to find a student by ID. A Bag does not support key-based
retrieval. A Set stores only unique values without key-value associations.


Q7: What is the primary difference between a Record and a Class in the context of data types?
A. A Record can contain methods while a Class cannot
B. A Record is typically a passive data container while a Class encapsulates both data and behavior
[CORRECT]
C. A Class only stores data while a Record can execute operations
D. There is no difference; they are interchangeable terms
Correct Answer: B
Rationale: A Record is typically a passive data structure that aggregates related fields (like a struct in C), whereas a Class
encapsulates both data (attributes) and behavior (methods). Option A is backwards because Classes contain methods, not
Records. Option C reverses the definitions. Option D is incorrect because the distinction between passive data containers and
encapsulated objects is fundamental in software design.



Page 2

, WGU C949 Data Structures and Algorithms I Objective Assessment Version 1 | 2026/2027




Q8: In a strongly typed language, which of the following would be prevented at compile time?
A. Accessing an array element at an out-of-bounds index
B. Assigning a string value to an integer variable [CORRECT]
C. Dividing an integer by zero
D. Infinite recursion in a function call
Correct Answer: B
Rationale: Strong typing enforces type compatibility at compile time, preventing operations like assigning a string to an integer
variable. Option A (array bounds) is typically a runtime check, not a type check. Option C (division by zero) is a runtime
error. Option D (infinite recursion) is also a runtime issue. Strong typing specifically prevents type mismatches, not logic
errors or runtime exceptions.


Q9: What is a key characteristic of a weakly typed language?
A. Variables must be declared with a specific type before use
B. Type conversions between incompatible types (e.g., string to integer) may be implicitly performed
[CORRECT]
C. The compiler enforces strict type checking at all stages
D. All data types must be explicitly cast during assignment
Correct Answer: B
Rationale: Weakly typed languages allow implicit type conversions (coercion) between incompatible types, such as
automatically converting a string to a number in certain contexts. Option A and D describe strongly typed behavior. Option C
describes strong compile-time type enforcement, the opposite of weak typing. JavaScript is a classic example of a weakly
typed language.


Q10: A programmer is designing a system that requires memory allocation at compile time with a fixed,
known number of elements. Which memory model is most appropriate?
A. Dynamic memory allocation using pointers
B. Static memory allocation (e.g., arrays with fixed size) [CORRECT]
C. Garbage-collected heap allocation
D. Stack-based recursive allocation
Correct Answer: B
Rationale: Static memory allocation reserves memory at compile time with a fixed size that cannot change during program
execution. Arrays with fixed sizes are the classic example. Option A describes dynamic allocation, which is for unknown or
variable sizes. Option C describes runtime heap management. Option D describes how recursion uses the call stack, not
compile-time allocation.


Q11: When comparing static and dynamic memory allocation, which advantage does dynamic memory
provide?
A. Faster access time due to cache locality
B. Memory size can be determined and changed at runtime based on program needs [CORRECT]
C. No risk of memory leaks or dangling pointers
D. The compiler automatically optimizes memory layout
Correct Answer: B
Rationale: Dynamic memory allocation allows the program to request memory at runtime, making it possible to handle data
sizes that are unknown at compile time. Option A is an advantage of static allocation (contiguous memory improves cache
hits). Option C is incorrect because dynamic allocation actually introduces risks of memory leaks and dangling pointers.
Option D applies to both static and dynamic approaches depending on the compiler.



Page 3

Document information

Uploaded on
September 2, 2026
Number of pages
17
Written in
2026/2027
Type
Exam (elaborations)
Contains
Questions & answers
$20.50

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Seller avatar
Reputation scores are based on the amount of documents a seller has sold for a fee and the reviews they have received for those documents. There are three levels: Bronze, Silver and Gold. The better the reputation, the more your can rely on the quality of the sellers work.
NURSEEXAMITY
3.4
(100)
Sold
531
Followers
274
Items
6405
Last sold
1 day ago




Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions