Showing posts with label n queen problem. Show all posts
Showing posts with label n queen problem. Show all posts

Friday, October 30, 2020

STACK : INTRODUCTION | OPERATIONS | REAL LIFE EXAMPLE | IMPLEMENTATION

 What Is Stack

. Linear Data Structure

TWO OPERATION : 

1 - PUSH : Entering the data on the top or at the end






2- POP : Remove the top element or latest element





So, Stack performs LIFO operation where LIFO stands for Last In First Out.

Nowadays every language has some more operations i.e. Peek, Is empty, Is full , size 

3 - PEEK : It help us to check the top entry without deleting it

4- IS EMPTY : this checks whether the stack is empty or not and provides boolean value (true / false)

5- IS FULL : this checks whether the stack is full or not in non dynamic data structure. If you are using standard library then it resize dynamically .

6- SIZE : this gives the size of the stack




Whenever you get stack , think it to be a data structure where you have to preform insertions and deletion on the same end what ever data structure you are using.

Real Life Example :

1- Plates stacked over one another
2- Stacked books

So , the book on top is the first book to be taken . Although it was the last book to place . Similarly
in marriages the top most dinner plate is the first plate to be taken and used.


APPLICATION OF STACK

1- Undo - Redo features 

2- Infix to Prefix or Postfix

3- Balancing the symbols

4- Used in Algorithms 
    a) Rat in maze
    b) N Queen Problem
    c) Tower of Hanoi
    d) Stock span problem
    e) Topological Sorting
    f) Strongly Connected Components

5- Syntax Parsing

6- Browser back button

7- Useful for performing operations like Backtracking in Programming


IMPLEMENTATION

You can use any data structure to perform this operation :

1- Array
2- Linkedlist

If you use standard library , you can use the data structure provided such as stack (we will see the implementation soon ) which is dynamic and provided certain operations.