Open In App

Stack Vs Heap Data Structure

Improve
Improve
Like Article
Like
Save
Share
Report

What is Stack?

A stack is a linear data structure where the last element entered exits first. 

The order of stack data structure might be LIFO, FILO:

According to this technique, the piece that is in last will come out first. As an example, consider a stack of dishes stacked on top of each other. The plate we put last is on top, and because we take the plate at the top, we may claim that the plate we put last comes out first.

Basic Operations on Stack:

  • push(): To insert an element into the stack
    • Time Complexity: O(1)
  • isEmpty(): Returns true if the stack is empty else false.
    • Time Complexity: O(1)
  • top(): Returns the top element of the stack
    • Time Complexity: O(1)
  • pop(): To remove an element from the stack
    • Time Complexity: O(1)
  • size(): Returns the size of the stack
    • Time Complexity: O(1)

What is Heap Data Structure?

A Heap is a kind of Tree-based Data Structure in which the tree is an entire binary tree. A heap is a data structure or memory that is used to hold global variables. All global variables are kept in heap memory by default. It enables the allocation of dynamic memory. The Processor does not handle heap memory. The heap data structure may be built either using arrays or trees.

It is an entire binary tree that meets the heap property criterion, whereas a completed binary tree is one in which all levels are entirely filled with the exception of the last one. At the last level, all the vertices would be far as left as possible

Basic Operations on Heap Data Structure:

  • Heapify: It is a process of creating a heap from an array.
  • Peek: To examine or locate the heap’s most recent element (max or min element for max and min heap).
  • Insertion: Process to insert an element in existing heap time complexity O(log N).
    • Time Complexity: O(log N)
  • Deletion: Removing the heap’s top element or the one with the greatest priority, then arranging the heap.
    • Time Complexity: O(log N)

Difference between Stack and Heap?

S.N

Stack

Heap

1 It is a linear data structure, which implies that elements are kept in a linear order, one after the other. Because it is a hierarchical data structure, the components are stored in the form of a tree.
2 Stack data structure works on LIFO (Last in First Out) property. Heap data structure follows min-heap or max-heap property.
3 The access time in stack is faster The access time in heap is slower
4 Stacks may be implemented in two ways: array, linked list. The implementation of heap can be done using arrays or trees

Last Updated : 27 Mar, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads