Recall & Review
beginner
What is a dynamic stack using a resizable array?
A dynamic stack using a resizable array is a stack data structure that grows or shrinks its underlying array automatically when elements are pushed or popped, so it can handle any number of elements without fixed size limits.
Click to reveal answer
beginner
Why do we resize the array in a dynamic stack?
We resize the array to save memory and allow the stack to grow beyond its initial capacity. When the array is full, we create a bigger array and copy elements. When the stack is mostly empty, we shrink the array to avoid wasting space.
Click to reveal answer
intermediate
What happens when you push an element and the array is full?
When pushing and the array is full, the stack doubles the size of the array, copies all elements to the new array, then adds the new element. This ensures there is always space for new elements.
Click to reveal answer
intermediate
How does popping elements affect the size of the array?
When popping elements, if the number of elements becomes less than a quarter of the array size, the stack shrinks the array to half its current size to save memory.
Click to reveal answer
intermediate
What is the time complexity of push and pop operations in a dynamic stack using a resizable array?
Push and pop operations are usually O(1) (constant time). Occasionally, resizing takes O(n) time, but amortized over many operations, the average time remains O(1).
Click to reveal answer
What triggers the resizing of the array in a dynamic stack?
✗ Incorrect
The array resizes by growing when full and shrinking when less than a quarter full.
What is the initial size of the array in a dynamic stack?
✗ Incorrect
The initial size is usually small and grows dynamically as needed.
What is the main advantage of using a dynamic stack over a fixed-size stack?
✗ Incorrect
Dynamic stacks grow as needed, so they avoid overflow errors.
Which operation might take longer than O(1) time in a dynamic stack?
✗ Incorrect
Resizing requires copying elements, which takes O(n) time.
What happens if you pop from an empty dynamic stack?
✗ Incorrect
Popping from an empty stack is invalid and usually causes an error.
Explain how a dynamic stack using a resizable array manages memory when pushing and popping elements.
Think about when and why the array size changes.
You got /4 concepts.
Describe the time complexity of push and pop operations in a dynamic stack and why resizing does not make them slow on average.
Consider how often resizing occurs compared to normal operations.
You got /4 concepts.