Bird
Raised Fist0
DSA Typescriptprogramming~5 mins

Push Operation on Stack in DSA Typescript - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Push Operation on Stack
O(1)
Understanding Time Complexity

We want to understand how long it takes to add an item to a stack.

How does the time needed change as the stack grows?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


class Stack {
  private items: number[] = [];

  push(element: number): void {
    this.items.push(element);
  }
}
    

This code adds one element to the top of the stack.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Adding one element to the end of an array.
  • How many times: Exactly once per push call.
How Execution Grows With Input

Adding one item takes the same amount of time no matter how many items are already in the stack.

Input Size (n)Approx. Operations
101
1001
10001

Pattern observation: The time stays the same even as the stack grows.

Final Time Complexity

Time Complexity: O(1)

This means adding an item takes a constant amount of time regardless of stack size.

Common Mistake

[X] Wrong: "Push takes longer as the stack gets bigger because it has to move all elements."

[OK] Correct: The push operation just adds to the end of the array without moving existing items, so time does not grow with stack size.

Interview Connect

Knowing that push is constant time helps you explain why stacks are efficient for adding items quickly.

Self-Check

"What if the stack was implemented using a linked list instead of an array? How would the time complexity of push change?"

Practice

(1/5)
1. What does the push operation do in a stack data structure?
easy
A. Returns the bottom element of the stack
B. Removes the top element from the stack
C. Adds an element to the top of the stack
D. Checks if the stack is empty

Solution

  1. Step 1: Understand stack behavior

    A stack follows Last In First Out (LIFO) principle, where elements are added or removed from the top.
  2. Step 2: Define push operation

    The push operation adds a new element on top of the existing elements in the stack.
  3. Final Answer:

    Adds an element to the top of the stack -> Option C
  4. Quick Check:

    Push = Add top [OK]
Hint: Push always adds on top of stack [OK]
Common Mistakes:
  • Confusing push with pop operation
  • Thinking push removes elements
  • Mixing stack with queue operations
2. Which of the following is the correct TypeScript syntax to push an element 5 into a stack array named stack?
easy
A. stack.push(5);
B. stack.add(5);
C. push(stack, 5);
D. stack.insert(5);

Solution

  1. Step 1: Recall TypeScript array push method

    In TypeScript, arrays have a built-in method push() to add elements at the end (top for stack).
  2. Step 2: Match syntax

    The correct syntax is calling push on the array with the element as argument: stack.push(5);
  3. Final Answer:

    stack.push(5); -> Option A
  4. Quick Check:

    Array push method = stack.push(value) [OK]
Hint: Use array.push(element) to push [OK]
Common Mistakes:
  • Using non-existent methods like add or insert
  • Calling push as a standalone function
  • Forgetting parentheses after push
3. What will be the content of the stack after executing the following TypeScript code?
const stack: number[] = [];
stack.push(10);
stack.push(20);
stack.push(30);
medium
A. [30, 20, 10]
B. [10, 20, 30]
C. [10, 30, 20]
D. [20, 10, 30]

Solution

  1. Step 1: Trace each push operation

    Initially, stack is empty []. After push(10), stack = [10]. After push(20), stack = [10, 20]. After push(30), stack = [10, 20, 30].
  2. Step 2: Understand stack order

    The first pushed element is at index 0, last pushed at the end. So the array shows bottom to top as left to right.
  3. Final Answer:

    [10, 20, 30] -> Option B
  4. Quick Check:

    Push order = [10, 20, 30] [OK]
Hint: Stack array shows bottom to top left to right [OK]
Common Mistakes:
  • Reversing the order of elements
  • Confusing push with pop output
  • Assuming push adds at start of array
4. Identify the error in the following TypeScript code that tries to push an element into a stack:
let stack: number[] = [1, 2, 3];
stack.push 4;
medium
A. Missing parentheses after push
B. Stack should be declared as const
C. push cannot be used on arrays
D. Missing semicolon after array declaration

Solution

  1. Step 1: Check push method syntax

    The push method requires parentheses to pass the element: stack.push(4);. The code uses stack.push 4; which is invalid.
  2. Step 2: Verify other parts

    Declaring stack with let is valid. push is valid on arrays. Semicolon is optional but not an error here.
  3. Final Answer:

    Missing parentheses after push -> Option A
  4. Quick Check:

    push() needs parentheses [OK]
Hint: Always use parentheses with push method [OK]
Common Mistakes:
  • Omitting parentheses on method calls
  • Thinking push is a property, not a method
  • Confusing let and const errors
5. Given a stack implemented as an array, how can you push multiple elements [4, 5, 6] onto the stack in one operation while preserving their order (4 at bottom, 6 at top)?
hard
A. Use stack.unshift(...[4, 5, 6])
B. Use stack.push([4, 5, 6])
C. Use a loop to push each element from left to right
D. Use stack.push(...[4, 5, 6])

Solution

  1. Step 1: Understand spread operator with push

    Using stack.push(...[4, 5, 6]) spreads the array elements as separate arguments, pushing 4, then 5, then 6 in order.
  2. Step 2: Compare other options

    stack.push([4, 5, 6]) pushes the entire array as one element, not separate elements.
    Looping works but is multiple operations, not one.
    unshift adds elements at the start, not top of stack.
  3. Final Answer:

    Use stack.push(...[4, 5, 6]) -> Option D
  4. Quick Check:

    Spread operator with push adds multiple elements [OK]
Hint: Use spread operator ... with push for multiple elements [OK]
Common Mistakes:
  • Pushing array as single element instead of separate
  • Using unshift which adds at bottom
  • Forgetting spread operator syntax
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard