SlideShare a Scribd company logo
1 of 39
Course: MCA
Subject: Data and File Structure
Unit-3
Link List, Stack, Queue
DEFINITION: STACK
 An ordered collection of data items
 Can be accessed at only one end (the top)
 Stacks are LIFO structures, providing
 Add Item (=PUSH) Methods
 Remove Item (=POP) Methods
 They are a simple way to build a collection
 No indexing necessary
 Size of collection must not be predefined
 But: extremely reduced accessibility
 initializeStack: Initializes the stack to an empty state
 destroyStack: Removes all the elements from the
stack, leaving the stack empty
 isEmptyStack: Checks whether the stack is empty. If
empty, it returns true; otherwise, it returns false
BASIC OPERATIONS ON A STACK
CONT..
 isFullStack: Checks whether the stack is full.
 If full, it returns true; otherwise, it returns false
 push:
 Add new element to the top of the stack
 The input consists of the stack and the new
element.
 Prior to this operation, the stack must exist
and must not be full
CONT..
 top: Returns the top element of the stack. Prior
to this operation, the stack must exist and must
not be empty.
 pop: Removes the top element of the stack. Prior
to this operation, the stack must exist and must
not be empty.
STACKS: PROPERTIES
 Possible actions:
 PUSH an object (e.g. a plate) ontodispenser
 POP object out of dispenser
 Examples:
 Finding Palindromes
 Bracket Parsing
 RPN
 RECURSION !
APPLICATIONS USING A STACK
• Sometimes, the best way to solve a problem is by
solving a smaller version of the exact same
problem first
• Recursion is a technique that solves a problem by
solving a smaller problem of the same type
• A procedure that is defined in terms of itself
RECURSION
FACTORIAL
a! = 1 * 2 * 3 * ... * (a-1) * a
a! = a * (a-1)!
a!
a * (a-1)!
remember
...splitting up the problem into a smaller problem of the
same type...
 INFIX: From our schools times we have been familiar with the
expressions in which operands surround the operator,
 e.g. x+y, 6*3 etc this way of writing the Expressions is called
infix notation.
 POSTFIX: Postfix notation are also Known as Reverse Polish
Notation (RPN). They are different from the infix and prefix
notations in the sense that in the postfix notation, operator
comes after the operands,
 e.g. xy+, xyz+* etc.
 PREFIX: Prefix notation also Known as Polish notation.In the
prefix notation, as the name only suggests, operator comes
before the operands,
 e.g. +xy, *+xyz etc.
INFIX, POSTFIX AND PREFIX EXPRESSIONS
Using a Queue
Representation Of Queue
Operations On Queue
 Circular Queue
Priority Queue
Array Representation of Priority Queue
Double Ended Queue
Applications of Queue
WHAT IS A QUEUE?
 A queue system is a linear list in which deletions can take
place only at one end the “front” of the list, and the
insertions can take place only at the other end of the list,
the “back” .
 Is called a First-In-First-Out(FIFO)
THE QUEUE OPERATIONS
 A queue is like a line of people waiting for a bank teller.
 The queue has a front and a rear.
THE QUEUE OPERATIONS
 New people must enter the queue at the rear.
 The C++ queue class calls this a push, although it is
usually called an enqueue operation.
THE QUEUE OPERATIONS
 When an item is taken from the queue, it always
comes from the front.
 The C++ queue calls this a pop, although it is
usually called a dequeue operation.
$ $
Front
Rear
OPERATIONS ON QUEUES
 Insert(item): (also called enqueue)
 It adds a new item to the tail of the queue
 Remove( ): (also called delete or dequeue)
 It deletes the head item of the queue, and returns to the
caller.
 If the queue is already empty, this operation returns NULL
 getHead( ):
 Returns the value in the head element of the queue
 getTail( ):
 Returns the value in the tail element of the queue
 isEmpty( )
 Returns true if the queue has no items
 size( )
 Returns the number of items in the queue
The Queue Class
 The C++ standard template
library has a queue template
class.
 The template parameter is
the type of the items that can
be put in the queue.
template <class Item>
class queue<Item>
{
public:
queue( );
void push(const Item& entry);
void pop( );
bool empty( ) const;
Item front( ) const;
…
};
ARRAY IMPLEMENTATION
 A queue can be implemented with an array, as shown here.
For example, this queue contains the integers 4 (at the
front), 8 and 6 (at the rear).
[ 0 ] [1] [ 2 ] [ 3 ] [ 4 ] [ 5 ] . . .
An array of integers
to implement a
queue of integers
4 8 6
We don't care what's in
this part of the array.
ARRAY IMPLEMENTATION
 The easiest implementation also keeps track
of the number of items in the queue and the
index of the first element (at the front of the
queue), the last element (at the rear).
[ 0 ] [1] [ 2 ] [ 3 ] [ 4 ] [ 5 ] . . .
4 8 6
size3
first0
last2
AN ENQUEUE OPERATION
 When an element enters the queue, size is
incremented, and last changes, too.
[ 0 ] [1] [ 2 ] [ 3 ] [ 4 ] [ 5 ] . . .
28 6
size3
first1
last3
AT THE END OF THE ARRAY
 There is special behaviour at the end of the
array.
 For example, suppose we want to add a new
element to this queue, where the last index is
[5]:
[ 0 ] [1] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
2 16
size3
first3
last5
AT THE END OF THE ARRAY
 The new element goes at the front of the
array (if that spot isn’t already used):
[ 0 ] [1] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
2 16
size4
first3
last0
4
ARRAY IMPLEMENTATION
 Easy to implement
 But it has a limited capacity with a fixed array
 Or you must use a dynamic array for an
unbounded capacity
 Special behavior is needed when the rear reaches
the end of the array.
[ 0 ] [1] [ 2 ] [ 3 ] [ 4 ] [ 5 ] . . .
4 8 6
size3
first0
last2
CIRCULAR QUEUE
 When the queue reaches the end of the array, it “wraps around”
and the rear of the queue starts from index 0.
 A The figure below demonstrates the situation.
25
PRIORITY QUEUES
 A priority queue is a collection of zero or more
elements  each element has a priority or value
 Unlike the FIFO queues, the order of deletion from
a priority queue (e.g., who gets served next) is
determined by the element priority
 Elements are deleted by increasing or decreasing
order of priority rather than by the order in which
they arrived in the queue
26
PRIORITY QUEUES
 Operations performed on priority queues
 1) Find an element, 2) insert a new element, 3) delete an element,
etc.
 Two kinds of (Min, Max) priority queues exist
 In a Min priority queue, find/delete operation finds/deletes the
element with minimum priority
 In a Max priority queue, find/delete operation finds/deletes the
element with maximum priority
 Two or more elements can have the same priority
DEQUES
 A deque is a double-ended queue
 Insertions and deletions can occur at either end
 Implementation is similar to that for queues
 Deques are not heavily used
 You should know what a deque is, but we won’t
explore them much further
Ucommuting pipes
DEQUE (DOUBLE-ENDED QUEUE)[1]
Implemented by the class Arraydeque in Java 6 seen as a
doubly linked list with a head (right) and a tail (left) and
insert and remove at either ends.
head
tail
..... 43 1 625
5
1 2
4
6
headtail
3
QUEUE APPLICATIONS
 Real life examples
 Waiting in line
 Waiting on hold for tech support
 Applications related to Computer Science
 Threads
 Job scheduling (e.g. Round-Robin algorithm for CPU
allocation)
LINKED LIST IMPLEMENTATION[2]
10
15
7
null
13
 A queue can also be implemented with a linked
list with both a head and a tail pointer.
head_ptr
tail_ptr
LINKED LIST IMPLEMENTATION[3]
10
15
7
null
13
 Which end do you think is the front of the queue?
Why?
head_ptr
tail_ptr
LINKED LIST IMPLEMENTATION[4]
10
15
7
null
head_ptr
13
 The head_ptr points to the front of the list.
 Because it is harder to remove items from the tail of the list.
tail_ptr
Front
Rear
LINKED LIST
 Linkedlist an ordered collection of data in which each
element contains the location of the next element.
 Each element contains two parts: data and link.
 The link contains a pointer (an address) that identifies
the next element in the list.
 Singly linked list
 The link in the last element contains a null pointer,
indicating the end of the list.
Node[5]
 Nodes : the elements in a linked list.
 The nodes in a linked list are called self-referential records.
 Each instance of the record contains a pointer to another
instance of the same structural type.
35
SENTINEL NODES
 To simplify programming, two special nodes have been added at
both ends of the doubly-linked list.
 Head and tail are dummy nodes, also called sentinels, do not store
any data elements.
 Head: header sentinel has a null-prev reference (link).
 Tail: trailer sentinel has a null-next reference (link).
36
header trailer
Empty Doubly-Linked List:[6]
Using sentinels, we have no null-
links; instead, we have:
head.next = tail
tail.prev = head
Singl Node List:
Size = 1
This single node is the first node,
and also is the last node:
first node is head.next
last node is tail.prev
trailerheader
first last
 In linear linked lists if a list is traversed (all the elements visited)
an external pointer to the list must be preserved in order to be
able to reference the list again.
 Circular linked lists can be used to help the traverse the same list
again and again if needed.
 A circular list is very similar to the linear list where in the
circular list the pointer of the last node points not NULL but the
first node.
CIRCULAR LINKED LISTS
CIRCULAR LINKED LISTS
 In a circular linked list there are two methods to know if a
node is the first node or not.
 Either a external pointer, list, points the first node or
 A header node is placed as the first node of the circular
list.
 The header node can be separated from the others by either
heaving a sentinel value as the info part or having a
dedicated flag variable to specify if the node is a header node
or not.
REFERENCES
 An introduction to Datastructure with application by jean Trembley and
sorrenson
 Data structures by schaums and series –seymour lipschutz
 http://en.wikipedia.org/wiki/Book:Data_structures
 http://www.amazon.com/Data-Structures-Algorithms
 http://www.amazon.in/Data-Structures-Algorithms-Made-
Easy/dp/0615459811/
 http://www.amazon.in/Data-Structures-SIE-Seymour-Lipschutz/dp
 List of images
1) http://whttp://www.amazon.in/Data-Structures-SIE-Seymour-
Lipschutz/dq
2) ww.amazon.in/Data-Structures-linkedlist
3) ww.amazon.in/Data-Structures-linkedlist
4) ww.amazon.in/Data-Structures-linkedlist
5) ww.amazon.in/Data-Structures-linkedlist
6) ww.amazon.in/Data-Structures-doubly linkedlist

More Related Content

What's hot

Data structure , stack , queue
Data structure , stack , queueData structure , stack , queue
Data structure , stack , queueRajkiran Nadar
 
Data Structure -List Stack Queue
Data Structure -List Stack QueueData Structure -List Stack Queue
Data Structure -List Stack Queuesurya pandian
 
Sorting & Linked Lists
Sorting & Linked ListsSorting & Linked Lists
Sorting & Linked ListsJ.T.A.JONES
 
Stack and Queue by M.Gomathi Lecturer
Stack and Queue by M.Gomathi LecturerStack and Queue by M.Gomathi Lecturer
Stack and Queue by M.Gomathi Lecturergomathi chlm
 
Stack data structure in Data Structure using C
Stack data structure in Data Structure using C Stack data structure in Data Structure using C
Stack data structure in Data Structure using C Meghaj Mallick
 
Data Structure (Dynamic Array and Linked List)
Data Structure (Dynamic Array and Linked List)Data Structure (Dynamic Array and Linked List)
Data Structure (Dynamic Array and Linked List)Adam Mukharil Bachtiar
 
queue & its applications
queue & its applicationsqueue & its applications
queue & its applicationssomendra kumar
 
10 Linked Lists Sacks and Queues
10 Linked Lists Sacks and Queues10 Linked Lists Sacks and Queues
10 Linked Lists Sacks and QueuesPraveen M Jigajinni
 
Linked List - Insertion & Deletion
Linked List - Insertion & DeletionLinked List - Insertion & Deletion
Linked List - Insertion & DeletionAfaq Mansoor Khan
 
My lecture stack_queue_operation
My lecture stack_queue_operationMy lecture stack_queue_operation
My lecture stack_queue_operationSenthil Kumar
 

What's hot (19)

Data structure , stack , queue
Data structure , stack , queueData structure , stack , queue
Data structure , stack , queue
 
Linked list
Linked listLinked list
Linked list
 
Data Structure -List Stack Queue
Data Structure -List Stack QueueData Structure -List Stack Queue
Data Structure -List Stack Queue
 
Stack & queue
Stack & queueStack & queue
Stack & queue
 
Sorting & Linked Lists
Sorting & Linked ListsSorting & Linked Lists
Sorting & Linked Lists
 
stacks and queues
stacks and queuesstacks and queues
stacks and queues
 
Stack and Queue by M.Gomathi Lecturer
Stack and Queue by M.Gomathi LecturerStack and Queue by M.Gomathi Lecturer
Stack and Queue by M.Gomathi Lecturer
 
Stack data structure in Data Structure using C
Stack data structure in Data Structure using C Stack data structure in Data Structure using C
Stack data structure in Data Structure using C
 
Data Structure (Dynamic Array and Linked List)
Data Structure (Dynamic Array and Linked List)Data Structure (Dynamic Array and Linked List)
Data Structure (Dynamic Array and Linked List)
 
queue & its applications
queue & its applicationsqueue & its applications
queue & its applications
 
Data structure stack&queue basics
Data structure stack&queue   basicsData structure stack&queue   basics
Data structure stack&queue basics
 
10 Linked Lists Sacks and Queues
10 Linked Lists Sacks and Queues10 Linked Lists Sacks and Queues
10 Linked Lists Sacks and Queues
 
Queue ppt
Queue pptQueue ppt
Queue ppt
 
The Stack And Recursion
The Stack And RecursionThe Stack And Recursion
The Stack And Recursion
 
stacks and queues
stacks and queuesstacks and queues
stacks and queues
 
Linked List - Insertion & Deletion
Linked List - Insertion & DeletionLinked List - Insertion & Deletion
Linked List - Insertion & Deletion
 
Stack and queue
Stack and queueStack and queue
Stack and queue
 
Linear data structure concepts
Linear data structure conceptsLinear data structure concepts
Linear data structure concepts
 
My lecture stack_queue_operation
My lecture stack_queue_operationMy lecture stack_queue_operation
My lecture stack_queue_operation
 

Viewers also liked

Binary search algorithm
Binary search algorithmBinary search algorithm
Binary search algorithmmaamir farooq
 
Listas Lineares - Parte 1
Listas Lineares - Parte 1Listas Lineares - Parte 1
Listas Lineares - Parte 1Artur Barreto
 
Aula 01 -_pilhas_e_filas_com_vetores-oop
Aula 01 -_pilhas_e_filas_com_vetores-oopAula 01 -_pilhas_e_filas_com_vetores-oop
Aula 01 -_pilhas_e_filas_com_vetores-oopJean Martina
 
Sorting and searching arrays binary search algorithm
Sorting and searching arrays binary search algorithmSorting and searching arrays binary search algorithm
Sorting and searching arrays binary search algorithmDavid Burks-Courses
 
Aula01 - estrutura de dados
Aula01 - estrutura de dadosAula01 - estrutura de dados
Aula01 - estrutura de dadosAbner Lima
 
Lecture 5 data structures and algorithms
Lecture 5 data structures and algorithmsLecture 5 data structures and algorithms
Lecture 5 data structures and algorithmsAakash deep Singhal
 
3. Stack - Data Structures using C++ by Varsha Patil
3. Stack - Data Structures using C++ by Varsha Patil3. Stack - Data Structures using C++ by Varsha Patil
3. Stack - Data Structures using C++ by Varsha Patilwidespreadpromotion
 
8. Graph - Data Structures using C++ by Varsha Patil
8. Graph - Data Structures using C++ by Varsha Patil8. Graph - Data Structures using C++ by Varsha Patil
8. Graph - Data Structures using C++ by Varsha Patilwidespreadpromotion
 
7. Tree - Data Structures using C++ by Varsha Patil
7. Tree - Data Structures using C++ by Varsha Patil7. Tree - Data Structures using C++ by Varsha Patil
7. Tree - Data Structures using C++ by Varsha Patilwidespreadpromotion
 
5. Queue - Data Structures using C++ by Varsha Patil
5. Queue - Data Structures using C++ by Varsha Patil5. Queue - Data Structures using C++ by Varsha Patil
5. Queue - Data Structures using C++ by Varsha Patilwidespreadpromotion
 
6. Linked list - Data Structures using C++ by Varsha Patil
6. Linked list - Data Structures using C++ by Varsha Patil6. Linked list - Data Structures using C++ by Varsha Patil
6. Linked list - Data Structures using C++ by Varsha Patilwidespreadpromotion
 

Viewers also liked (20)

Binary search algorithm
Binary search algorithmBinary search algorithm
Binary search algorithm
 
Stack & Queue
Stack & QueueStack & Queue
Stack & Queue
 
Queues
QueuesQueues
Queues
 
6.queue
6.queue6.queue
6.queue
 
Listas Lineares - Parte 1
Listas Lineares - Parte 1Listas Lineares - Parte 1
Listas Lineares - Parte 1
 
Sorting Technique
Sorting TechniqueSorting Technique
Sorting Technique
 
CHC Finance: Using the New IRS 990 Form
CHC Finance: Using the New IRS 990 FormCHC Finance: Using the New IRS 990 Form
CHC Finance: Using the New IRS 990 Form
 
04 sorting
04 sorting04 sorting
04 sorting
 
Aula 01 -_pilhas_e_filas_com_vetores-oop
Aula 01 -_pilhas_e_filas_com_vetores-oopAula 01 -_pilhas_e_filas_com_vetores-oop
Aula 01 -_pilhas_e_filas_com_vetores-oop
 
Sorting and searching arrays binary search algorithm
Sorting and searching arrays binary search algorithmSorting and searching arrays binary search algorithm
Sorting and searching arrays binary search algorithm
 
Aula01 - estrutura de dados
Aula01 - estrutura de dadosAula01 - estrutura de dados
Aula01 - estrutura de dados
 
Lecture 5 data structures and algorithms
Lecture 5 data structures and algorithmsLecture 5 data structures and algorithms
Lecture 5 data structures and algorithms
 
3. Stack - Data Structures using C++ by Varsha Patil
3. Stack - Data Structures using C++ by Varsha Patil3. Stack - Data Structures using C++ by Varsha Patil
3. Stack - Data Structures using C++ by Varsha Patil
 
Pilhas e Filas
Pilhas e FilasPilhas e Filas
Pilhas e Filas
 
Queue
QueueQueue
Queue
 
8. Graph - Data Structures using C++ by Varsha Patil
8. Graph - Data Structures using C++ by Varsha Patil8. Graph - Data Structures using C++ by Varsha Patil
8. Graph - Data Structures using C++ by Varsha Patil
 
7. Tree - Data Structures using C++ by Varsha Patil
7. Tree - Data Structures using C++ by Varsha Patil7. Tree - Data Structures using C++ by Varsha Patil
7. Tree - Data Structures using C++ by Varsha Patil
 
5. Queue - Data Structures using C++ by Varsha Patil
5. Queue - Data Structures using C++ by Varsha Patil5. Queue - Data Structures using C++ by Varsha Patil
5. Queue - Data Structures using C++ by Varsha Patil
 
Estrutura de Dados - Listas Encadeadas
Estrutura de Dados - Listas EncadeadasEstrutura de Dados - Listas Encadeadas
Estrutura de Dados - Listas Encadeadas
 
6. Linked list - Data Structures using C++ by Varsha Patil
6. Linked list - Data Structures using C++ by Varsha Patil6. Linked list - Data Structures using C++ by Varsha Patil
6. Linked list - Data Structures using C++ by Varsha Patil
 

Similar to Mca ii dfs u-3 linklist,stack,queue

Similar to Mca ii dfs u-3 linklist,stack,queue (20)

Bca ii dfs u-2 linklist,stack,queue
Bca ii  dfs u-2 linklist,stack,queueBca ii  dfs u-2 linklist,stack,queue
Bca ii dfs u-2 linklist,stack,queue
 
23 stacks-queues-deques
23 stacks-queues-deques23 stacks-queues-deques
23 stacks-queues-deques
 
CEN 235 4. Abstract Data Types - Queue and Stack.pdf
CEN 235 4. Abstract Data Types - Queue and Stack.pdfCEN 235 4. Abstract Data Types - Queue and Stack.pdf
CEN 235 4. Abstract Data Types - Queue and Stack.pdf
 
LEC4-DS ALGO.pdf
LEC4-DS  ALGO.pdfLEC4-DS  ALGO.pdf
LEC4-DS ALGO.pdf
 
basics of queues
basics of queuesbasics of queues
basics of queues
 
unit 5 stack & queue.ppt
unit 5 stack & queue.pptunit 5 stack & queue.ppt
unit 5 stack & queue.ppt
 
Stack.pptx
Stack.pptxStack.pptx
Stack.pptx
 
Data Structures by Maneesh Boddu
Data Structures by Maneesh BodduData Structures by Maneesh Boddu
Data Structures by Maneesh Boddu
 
Review of basic data structures
Review of basic data structuresReview of basic data structures
Review of basic data structures
 
DSA Lab Manual C Scheme.pdf
DSA Lab Manual C Scheme.pdfDSA Lab Manual C Scheme.pdf
DSA Lab Manual C Scheme.pdf
 
Difference between stack and queue
Difference between stack and queueDifference between stack and queue
Difference between stack and queue
 
VCE Unit 03vv.pptx
VCE Unit 03vv.pptxVCE Unit 03vv.pptx
VCE Unit 03vv.pptx
 
chapter10-queue-161018120329.pdf
chapter10-queue-161018120329.pdfchapter10-queue-161018120329.pdf
chapter10-queue-161018120329.pdf
 
Stack & Queue
Stack & QueueStack & Queue
Stack & Queue
 
LEC3-DS ALGO(updated).pdf
LEC3-DS  ALGO(updated).pdfLEC3-DS  ALGO(updated).pdf
LEC3-DS ALGO(updated).pdf
 
Data Structure (Queue)
Data Structure (Queue)Data Structure (Queue)
Data Structure (Queue)
 
Lecture 2d queues
Lecture 2d queuesLecture 2d queues
Lecture 2d queues
 
Module 2 ppt.pptx
Module 2 ppt.pptxModule 2 ppt.pptx
Module 2 ppt.pptx
 
Queue
QueueQueue
Queue
 
U3.stack queue
U3.stack queueU3.stack queue
U3.stack queue
 

More from Rai University

Brochure Rai University
Brochure Rai University Brochure Rai University
Brochure Rai University Rai University
 
Bdft ii, tmt, unit-iii, dyeing & types of dyeing,
Bdft ii, tmt, unit-iii,  dyeing & types of dyeing,Bdft ii, tmt, unit-iii,  dyeing & types of dyeing,
Bdft ii, tmt, unit-iii, dyeing & types of dyeing,Rai University
 
Bsc agri 2 pae u-4.4 publicrevenue-presentation-130208082149-phpapp02
Bsc agri  2 pae  u-4.4 publicrevenue-presentation-130208082149-phpapp02Bsc agri  2 pae  u-4.4 publicrevenue-presentation-130208082149-phpapp02
Bsc agri 2 pae u-4.4 publicrevenue-presentation-130208082149-phpapp02Rai University
 
Bsc agri 2 pae u-4.3 public expenditure
Bsc agri  2 pae  u-4.3 public expenditureBsc agri  2 pae  u-4.3 public expenditure
Bsc agri 2 pae u-4.3 public expenditureRai University
 
Bsc agri 2 pae u-4.2 public finance
Bsc agri  2 pae  u-4.2 public financeBsc agri  2 pae  u-4.2 public finance
Bsc agri 2 pae u-4.2 public financeRai University
 
Bsc agri 2 pae u-4.1 introduction
Bsc agri  2 pae  u-4.1 introductionBsc agri  2 pae  u-4.1 introduction
Bsc agri 2 pae u-4.1 introductionRai University
 
Bsc agri 2 pae u-3.3 inflation
Bsc agri  2 pae  u-3.3  inflationBsc agri  2 pae  u-3.3  inflation
Bsc agri 2 pae u-3.3 inflationRai University
 
Bsc agri 2 pae u-3.2 introduction to macro economics
Bsc agri  2 pae  u-3.2 introduction to macro economicsBsc agri  2 pae  u-3.2 introduction to macro economics
Bsc agri 2 pae u-3.2 introduction to macro economicsRai University
 
Bsc agri 2 pae u-3.1 marketstructure
Bsc agri  2 pae  u-3.1 marketstructureBsc agri  2 pae  u-3.1 marketstructure
Bsc agri 2 pae u-3.1 marketstructureRai University
 
Bsc agri 2 pae u-3 perfect-competition
Bsc agri  2 pae  u-3 perfect-competitionBsc agri  2 pae  u-3 perfect-competition
Bsc agri 2 pae u-3 perfect-competitionRai University
 

More from Rai University (20)

Brochure Rai University
Brochure Rai University Brochure Rai University
Brochure Rai University
 
Mm unit 4point2
Mm unit 4point2Mm unit 4point2
Mm unit 4point2
 
Mm unit 4point1
Mm unit 4point1Mm unit 4point1
Mm unit 4point1
 
Mm unit 4point3
Mm unit 4point3Mm unit 4point3
Mm unit 4point3
 
Mm unit 3point2
Mm unit 3point2Mm unit 3point2
Mm unit 3point2
 
Mm unit 3point1
Mm unit 3point1Mm unit 3point1
Mm unit 3point1
 
Mm unit 2point2
Mm unit 2point2Mm unit 2point2
Mm unit 2point2
 
Mm unit 2 point 1
Mm unit 2 point 1Mm unit 2 point 1
Mm unit 2 point 1
 
Mm unit 1point3
Mm unit 1point3Mm unit 1point3
Mm unit 1point3
 
Mm unit 1point2
Mm unit 1point2Mm unit 1point2
Mm unit 1point2
 
Mm unit 1point1
Mm unit 1point1Mm unit 1point1
Mm unit 1point1
 
Bdft ii, tmt, unit-iii, dyeing & types of dyeing,
Bdft ii, tmt, unit-iii,  dyeing & types of dyeing,Bdft ii, tmt, unit-iii,  dyeing & types of dyeing,
Bdft ii, tmt, unit-iii, dyeing & types of dyeing,
 
Bsc agri 2 pae u-4.4 publicrevenue-presentation-130208082149-phpapp02
Bsc agri  2 pae  u-4.4 publicrevenue-presentation-130208082149-phpapp02Bsc agri  2 pae  u-4.4 publicrevenue-presentation-130208082149-phpapp02
Bsc agri 2 pae u-4.4 publicrevenue-presentation-130208082149-phpapp02
 
Bsc agri 2 pae u-4.3 public expenditure
Bsc agri  2 pae  u-4.3 public expenditureBsc agri  2 pae  u-4.3 public expenditure
Bsc agri 2 pae u-4.3 public expenditure
 
Bsc agri 2 pae u-4.2 public finance
Bsc agri  2 pae  u-4.2 public financeBsc agri  2 pae  u-4.2 public finance
Bsc agri 2 pae u-4.2 public finance
 
Bsc agri 2 pae u-4.1 introduction
Bsc agri  2 pae  u-4.1 introductionBsc agri  2 pae  u-4.1 introduction
Bsc agri 2 pae u-4.1 introduction
 
Bsc agri 2 pae u-3.3 inflation
Bsc agri  2 pae  u-3.3  inflationBsc agri  2 pae  u-3.3  inflation
Bsc agri 2 pae u-3.3 inflation
 
Bsc agri 2 pae u-3.2 introduction to macro economics
Bsc agri  2 pae  u-3.2 introduction to macro economicsBsc agri  2 pae  u-3.2 introduction to macro economics
Bsc agri 2 pae u-3.2 introduction to macro economics
 
Bsc agri 2 pae u-3.1 marketstructure
Bsc agri  2 pae  u-3.1 marketstructureBsc agri  2 pae  u-3.1 marketstructure
Bsc agri 2 pae u-3.1 marketstructure
 
Bsc agri 2 pae u-3 perfect-competition
Bsc agri  2 pae  u-3 perfect-competitionBsc agri  2 pae  u-3 perfect-competition
Bsc agri 2 pae u-3 perfect-competition
 

Recently uploaded

Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Association for Project Management
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxcallscotland1987
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxEsquimalt MFRC
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 

Recently uploaded (20)

Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 

Mca ii dfs u-3 linklist,stack,queue

  • 1. Course: MCA Subject: Data and File Structure Unit-3 Link List, Stack, Queue
  • 2. DEFINITION: STACK  An ordered collection of data items  Can be accessed at only one end (the top)  Stacks are LIFO structures, providing  Add Item (=PUSH) Methods  Remove Item (=POP) Methods  They are a simple way to build a collection  No indexing necessary  Size of collection must not be predefined  But: extremely reduced accessibility
  • 3.  initializeStack: Initializes the stack to an empty state  destroyStack: Removes all the elements from the stack, leaving the stack empty  isEmptyStack: Checks whether the stack is empty. If empty, it returns true; otherwise, it returns false BASIC OPERATIONS ON A STACK
  • 4. CONT..  isFullStack: Checks whether the stack is full.  If full, it returns true; otherwise, it returns false  push:  Add new element to the top of the stack  The input consists of the stack and the new element.  Prior to this operation, the stack must exist and must not be full
  • 5. CONT..  top: Returns the top element of the stack. Prior to this operation, the stack must exist and must not be empty.  pop: Removes the top element of the stack. Prior to this operation, the stack must exist and must not be empty.
  • 6. STACKS: PROPERTIES  Possible actions:  PUSH an object (e.g. a plate) ontodispenser  POP object out of dispenser
  • 7.  Examples:  Finding Palindromes  Bracket Parsing  RPN  RECURSION ! APPLICATIONS USING A STACK
  • 8. • Sometimes, the best way to solve a problem is by solving a smaller version of the exact same problem first • Recursion is a technique that solves a problem by solving a smaller problem of the same type • A procedure that is defined in terms of itself RECURSION
  • 9. FACTORIAL a! = 1 * 2 * 3 * ... * (a-1) * a a! = a * (a-1)! a! a * (a-1)! remember ...splitting up the problem into a smaller problem of the same type...
  • 10.  INFIX: From our schools times we have been familiar with the expressions in which operands surround the operator,  e.g. x+y, 6*3 etc this way of writing the Expressions is called infix notation.  POSTFIX: Postfix notation are also Known as Reverse Polish Notation (RPN). They are different from the infix and prefix notations in the sense that in the postfix notation, operator comes after the operands,  e.g. xy+, xyz+* etc.  PREFIX: Prefix notation also Known as Polish notation.In the prefix notation, as the name only suggests, operator comes before the operands,  e.g. +xy, *+xyz etc. INFIX, POSTFIX AND PREFIX EXPRESSIONS
  • 11. Using a Queue Representation Of Queue Operations On Queue  Circular Queue Priority Queue Array Representation of Priority Queue Double Ended Queue Applications of Queue
  • 12. WHAT IS A QUEUE?  A queue system is a linear list in which deletions can take place only at one end the “front” of the list, and the insertions can take place only at the other end of the list, the “back” .  Is called a First-In-First-Out(FIFO)
  • 13. THE QUEUE OPERATIONS  A queue is like a line of people waiting for a bank teller.  The queue has a front and a rear.
  • 14. THE QUEUE OPERATIONS  New people must enter the queue at the rear.  The C++ queue class calls this a push, although it is usually called an enqueue operation.
  • 15. THE QUEUE OPERATIONS  When an item is taken from the queue, it always comes from the front.  The C++ queue calls this a pop, although it is usually called a dequeue operation. $ $ Front Rear
  • 16. OPERATIONS ON QUEUES  Insert(item): (also called enqueue)  It adds a new item to the tail of the queue  Remove( ): (also called delete or dequeue)  It deletes the head item of the queue, and returns to the caller.  If the queue is already empty, this operation returns NULL  getHead( ):  Returns the value in the head element of the queue  getTail( ):  Returns the value in the tail element of the queue  isEmpty( )  Returns true if the queue has no items  size( )  Returns the number of items in the queue
  • 17. The Queue Class  The C++ standard template library has a queue template class.  The template parameter is the type of the items that can be put in the queue. template <class Item> class queue<Item> { public: queue( ); void push(const Item& entry); void pop( ); bool empty( ) const; Item front( ) const; … };
  • 18. ARRAY IMPLEMENTATION  A queue can be implemented with an array, as shown here. For example, this queue contains the integers 4 (at the front), 8 and 6 (at the rear). [ 0 ] [1] [ 2 ] [ 3 ] [ 4 ] [ 5 ] . . . An array of integers to implement a queue of integers 4 8 6 We don't care what's in this part of the array.
  • 19. ARRAY IMPLEMENTATION  The easiest implementation also keeps track of the number of items in the queue and the index of the first element (at the front of the queue), the last element (at the rear). [ 0 ] [1] [ 2 ] [ 3 ] [ 4 ] [ 5 ] . . . 4 8 6 size3 first0 last2
  • 20. AN ENQUEUE OPERATION  When an element enters the queue, size is incremented, and last changes, too. [ 0 ] [1] [ 2 ] [ 3 ] [ 4 ] [ 5 ] . . . 28 6 size3 first1 last3
  • 21. AT THE END OF THE ARRAY  There is special behaviour at the end of the array.  For example, suppose we want to add a new element to this queue, where the last index is [5]: [ 0 ] [1] [ 2 ] [ 3 ] [ 4 ] [ 5 ] 2 16 size3 first3 last5
  • 22. AT THE END OF THE ARRAY  The new element goes at the front of the array (if that spot isn’t already used): [ 0 ] [1] [ 2 ] [ 3 ] [ 4 ] [ 5 ] 2 16 size4 first3 last0 4
  • 23. ARRAY IMPLEMENTATION  Easy to implement  But it has a limited capacity with a fixed array  Or you must use a dynamic array for an unbounded capacity  Special behavior is needed when the rear reaches the end of the array. [ 0 ] [1] [ 2 ] [ 3 ] [ 4 ] [ 5 ] . . . 4 8 6 size3 first0 last2
  • 24. CIRCULAR QUEUE  When the queue reaches the end of the array, it “wraps around” and the rear of the queue starts from index 0.  A The figure below demonstrates the situation.
  • 25. 25 PRIORITY QUEUES  A priority queue is a collection of zero or more elements  each element has a priority or value  Unlike the FIFO queues, the order of deletion from a priority queue (e.g., who gets served next) is determined by the element priority  Elements are deleted by increasing or decreasing order of priority rather than by the order in which they arrived in the queue
  • 26. 26 PRIORITY QUEUES  Operations performed on priority queues  1) Find an element, 2) insert a new element, 3) delete an element, etc.  Two kinds of (Min, Max) priority queues exist  In a Min priority queue, find/delete operation finds/deletes the element with minimum priority  In a Max priority queue, find/delete operation finds/deletes the element with maximum priority  Two or more elements can have the same priority
  • 27. DEQUES  A deque is a double-ended queue  Insertions and deletions can occur at either end  Implementation is similar to that for queues  Deques are not heavily used  You should know what a deque is, but we won’t explore them much further
  • 28. Ucommuting pipes DEQUE (DOUBLE-ENDED QUEUE)[1] Implemented by the class Arraydeque in Java 6 seen as a doubly linked list with a head (right) and a tail (left) and insert and remove at either ends. head tail ..... 43 1 625 5 1 2 4 6 headtail 3
  • 29. QUEUE APPLICATIONS  Real life examples  Waiting in line  Waiting on hold for tech support  Applications related to Computer Science  Threads  Job scheduling (e.g. Round-Robin algorithm for CPU allocation)
  • 30. LINKED LIST IMPLEMENTATION[2] 10 15 7 null 13  A queue can also be implemented with a linked list with both a head and a tail pointer. head_ptr tail_ptr
  • 31. LINKED LIST IMPLEMENTATION[3] 10 15 7 null 13  Which end do you think is the front of the queue? Why? head_ptr tail_ptr
  • 32. LINKED LIST IMPLEMENTATION[4] 10 15 7 null head_ptr 13  The head_ptr points to the front of the list.  Because it is harder to remove items from the tail of the list. tail_ptr Front Rear
  • 33. LINKED LIST  Linkedlist an ordered collection of data in which each element contains the location of the next element.  Each element contains two parts: data and link.  The link contains a pointer (an address) that identifies the next element in the list.  Singly linked list  The link in the last element contains a null pointer, indicating the end of the list.
  • 34. Node[5]  Nodes : the elements in a linked list.  The nodes in a linked list are called self-referential records.  Each instance of the record contains a pointer to another instance of the same structural type.
  • 35. 35 SENTINEL NODES  To simplify programming, two special nodes have been added at both ends of the doubly-linked list.  Head and tail are dummy nodes, also called sentinels, do not store any data elements.  Head: header sentinel has a null-prev reference (link).  Tail: trailer sentinel has a null-next reference (link).
  • 36. 36 header trailer Empty Doubly-Linked List:[6] Using sentinels, we have no null- links; instead, we have: head.next = tail tail.prev = head Singl Node List: Size = 1 This single node is the first node, and also is the last node: first node is head.next last node is tail.prev trailerheader first last
  • 37.  In linear linked lists if a list is traversed (all the elements visited) an external pointer to the list must be preserved in order to be able to reference the list again.  Circular linked lists can be used to help the traverse the same list again and again if needed.  A circular list is very similar to the linear list where in the circular list the pointer of the last node points not NULL but the first node. CIRCULAR LINKED LISTS
  • 38. CIRCULAR LINKED LISTS  In a circular linked list there are two methods to know if a node is the first node or not.  Either a external pointer, list, points the first node or  A header node is placed as the first node of the circular list.  The header node can be separated from the others by either heaving a sentinel value as the info part or having a dedicated flag variable to specify if the node is a header node or not.
  • 39. REFERENCES  An introduction to Datastructure with application by jean Trembley and sorrenson  Data structures by schaums and series –seymour lipschutz  http://en.wikipedia.org/wiki/Book:Data_structures  http://www.amazon.com/Data-Structures-Algorithms  http://www.amazon.in/Data-Structures-Algorithms-Made- Easy/dp/0615459811/  http://www.amazon.in/Data-Structures-SIE-Seymour-Lipschutz/dp  List of images 1) http://whttp://www.amazon.in/Data-Structures-SIE-Seymour- Lipschutz/dq 2) ww.amazon.in/Data-Structures-linkedlist 3) ww.amazon.in/Data-Structures-linkedlist 4) ww.amazon.in/Data-Structures-linkedlist 5) ww.amazon.in/Data-Structures-linkedlist 6) ww.amazon.in/Data-Structures-doubly linkedlist