Bird
Raised Fist0
DSA Javaprogramming~5 mins

Push Operation on Stack in DSA Java - 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 the time to add an item to a stack changes as the stack grows.

How much work does it take to push one element onto the stack?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


public class Stack {
    private int[] arr;
    private int top;

    public Stack(int size) {
        arr = new int[size];
        top = -1;
    }

    public void push(int value) {
        arr[++top] = value;
    }
}
    

This code adds a new value on top of the stack by increasing the top pointer and storing the value.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Assigning the new value to the array at the next top position.
  • How many times: Exactly once per push call, no loops or recursion involved.
How Execution Grows With Input

Each push does the same small amount of work no matter how big the stack is.

Input Size (n)Approx. Operations
101
1001
10001

Pattern observation: The work stays the same even if the stack grows larger.

Final Time Complexity

Time Complexity: O(1)

This means pushing an item takes the same short time no matter how many items are already in the stack.

Common Mistake

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

[OK] Correct: The push operation only adds one item at the top without moving others, so the time does not grow with stack size.

Interview Connect

Knowing that push is a quick, constant-time operation helps you explain stack efficiency clearly in interviews.

Self-Check

"What if the stack uses a dynamic array that resizes when full? How would the time complexity of push change then?"

Practice

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

Solution

  1. Step 1: Understand stack behavior

    A stack follows Last In First Out (LIFO) principle, so new elements are added on top.
  2. Step 2: Define push operation

    The push operation adds a new element to the top of the stack, increasing its size by one.
  3. Final Answer:

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

    Push = Add top element [OK]
Hint: Push always adds element on top of stack [OK]
Common Mistakes:
  • Confusing push with pop
  • Thinking push removes element
  • Assuming push adds at bottom
2. Which of the following is the correct syntax to push an integer 10 onto a stack named stack in Java?
easy
A. stack.add(10);
B. stack.push(10);
C. stack.insert(10);
D. stack.put(10);

Solution

  1. Step 1: Recall Java Stack API

    Java's Stack class uses the method push() to add elements.
  2. Step 2: Match correct method

    Among options, only push() is the correct method to add elements to a stack.
  3. Final Answer:

    stack.push(10); -> Option B
  4. Quick Check:

    Java stack push method = push() [OK]
Hint: Use push() method to add elements in Java stack [OK]
Common Mistakes:
  • Using add() which is for lists
  • Using insert() which doesn't exist
  • Using put() which is for maps
3. What will be the output after executing the following Java code?
Stack<Integer> stack = new Stack<>();
stack.push(5);
stack.push(10);
stack.push(15);
System.out.println(stack);
medium
A. [5, 15, 10]
B. [15, 10, 5]
C. [10, 15, 5]
D. [5, 10, 15]

Solution

  1. Step 1: Trace push operations

    Elements 5, 10, and 15 are pushed in order, so stack stores them as [5, 10, 15].
  2. Step 2: Understand Stack's toString()

    Java's Stack prints elements from bottom to top in list format, so output is [5, 10, 15].
  3. Final Answer:

    [5, 10, 15] -> Option D
  4. Quick Check:

    Stack print shows bottom to top [OK]
Hint: Stack prints bottom to top in Java [OK]
Common Mistakes:
  • Assuming print shows top element first
  • Confusing stack with queue order
  • Expecting reversed list output
4. Identify the error in the following code snippet that tries to push an element onto a stack:
Stack<String> stack = new Stack<>();
stack.push("Hello");
stack.push(100);
medium
A. Stack must be initialized with size
B. Stack class does not have push method
C. Cannot push integer 100 into a Stack of Strings
D. Missing semicolon after push statements

Solution

  1. Step 1: Check stack type and pushed elements

    The stack is declared to hold Strings only, but 100 is an integer.
  2. Step 2: Identify type mismatch error

    Pushing an integer into a String stack causes a compile-time type error.
  3. Final Answer:

    Cannot push integer 100 into a Stack of Strings -> Option C
  4. Quick Check:

    Type mismatch error = pushing wrong data type [OK]
Hint: Stack type must match pushed element type [OK]
Common Mistakes:
  • Ignoring generic type mismatch
  • Thinking push method missing
  • Assuming size needed at init
5. Given an empty stack, which sequence of push operations will result in the stack containing elements in this order from bottom to top: 3 -> 7 -> 5 -> null?
hard
A. push(3), push(7), push(5)
B. push(5), push(7), push(3)
C. push(7), push(3), push(5)
D. push(5), push(3), push(7)

Solution

  1. Step 1: Understand stack order after pushes

    Elements pushed first are at bottom, last pushed at top.
  2. Step 2: Match push order to desired stack

    To get 3 at bottom, then 7, then 5 on top, push in order: 3, then 7, then 5.
  3. Final Answer:

    push(3), push(7), push(5) -> Option A
  4. Quick Check:

    Push order = bottom to top [OK]
Hint: Push elements in bottom-to-top order [OK]
Common Mistakes:
  • Reversing push order
  • Confusing push with pop order
  • Assuming stack inserts at bottom
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