• Home
  • About
    • Ugur photo

      Ugur

      Blog

    • Learn More
    • Twitter
    • LinkedIn
    • Instagram
    • Github
  • Posts
    • All Posts
    • All Tags

Stack

31 Jan 2021

Reading time ~1 minute

STACK

Stack is a linear data structure which follows a particular order in which the operations are performed.The order may be LIFO(Last In First Out) or FILO(First In Last Out).

Mainly the following four basic operations are performed in the stack:

  • PUSH

    Adds an item in the stack. If the stack is full, then it is said to be an Overflow condition.

  • POP

    Removes an item from the stack. The items are popped in the reversed order in which they are pushed. If the stack is empty, then it is said to be an underflow condition.

  • PEEK or TOP

    Returns top element of stack.

  • ISEMPTY

    Returns true if stack is empty, else false.

How to understand a stack practically ?

There are many real-life examples of a stack. Consider the simple example of plates stacked over one another in a canteen. The plate which is at the top is the first one to be removed, i.e. the plate which has been placed at the bottommost position remains in the stack for the longest period of time. So, it can be simply seen to follow LIFO/FILO order.

Time complexities of operations on stack:

push(),pop(),isEmpty() and peek() all take O(1) time. We do not run any loop in any of these operations.

PROS

The linked list implementation of stack can grow and shrink according to the needs at runtime.

CONS

Requires extra memory due to involvement of pointers.

REFERENCES

https://www.geeksforgeeks.org/stack-data-structure-introduction-program/



data structurestackalgorithms Share Tweet +1