SlideShare a Scribd company logo
1 of 17
Definition of Queue
An ordered collection of items from which items may be deleted from one end called the front and into which items
may be inserted from other end called rear is known as Queue.
It is a linear data structure.
It is called First In First Out (FIFO) list. Since in queue, first element will be the first element out.
1
Deletion
Front Rear
Insertion
(a) Insertion and deletion of elements in Queue
Queue (Example)
2
Front Rear
(b) Queue
A B C D
Front Rear
A B C D E
(c) Front and near pointer after insertion
Front Rear
(d) Front and rear pointer after deletion
B C D E
Element E will be added at the rear end.Queue with four elements A, B, C and D.
A is at front and D is at rear.
Element can be deleted only from the front.
Thus, A will be the first to be removed from the queue.
Difference between Stack & Queue.
3
SR Stack Queue
1 Stack is a LIFO (Last in first out)
data structure.
Queue is a FIFO (first in first out)
data structure.
2 In a stack, all insertion and
deletions are permitted only at one
end of stack called top of stack.
In a queue items are inserted at
one end called the rear and
deleted from the other end called
the front.
3 Stack is widely used in recursion. Queue is more useful in many of
the real life applications.
4 Example: A stack of plates, a stack
of coin etc.
Example: A queue of people
waiting to purchase tickets, in a
computer system process waiting
for line printer etc.
Operations on a Queue.
1. Create: Creates empty queue.
2. Insert: Add new element at rear.
3. Delete: Delete element at front.
4. Isempty: Checks queue is empty or not.
5. Isfull: Checks queue is full or not.
4
Algorithm to insert and delete element in the Queue.
1. Create an empty queue by giving name and
2. Initially assign Rear = -1, front = -1.
3. If choice == Insert then
if Rear == max-1 then
print “queue is full”
else
Rear = Rear +1
q [Rear] = element
4. If choice == Delete then
If front == -1 then
print “queue is empty”
else
front = front +1
5. Stop
5
Queue as an abstract data type
(1) Initialize the queue to be empty.
(2) Check if the queue is empty or not.
(3) Check if the queue is full or not.
(4) Insert a new element in the queue if it is not full.
(5) Retrieve the value of first element of the queue, if the queue is not empty.
(6) Delete the first element from the queue if it is not empty.
Queue abstract data type = Queue elements + Queue operations.
6
Representation of an Queue as an Array
7
Deletion
Front Rear
Deletion
(a) Queue with array
Front = -1 Rear = -1
0 1 2 3 4
0 1 2 3 4 0 1 2 3 4
0 1 2 3 4
(b) Empty Queue
(c) Queue after adding an element U (d) Queue after adding 5 element
Front = 0
Rear = 0
Front = 0 Rear = 4
Front = 1
U V X Y ZU
V W X Y
Rear = 4
(E) Queue after adding U element
Types of Queue
1. Linear Queue.
2. Circular Queue.
3. Double ended Queue.
4. Priority Queue.
8
Circular Queue full (overflow)
9
60
30
60
50
40
20
10
Q[5]
Q[1]
Q[4]
Q[0]
Q[3] Q[2]
Circular queue full
10
Circular Queue Empty (underflow)
60
Q[5]
Q[1]
Q[4]
Q[0]
Q[3] Q[2]
Circular queue empty
Circular Queue Diagram & Algorithm (to insert)
11
Algorithm to insert an element into circular Queue.
Step 1: If front = 0 and rear = MAX -1 then
write ‘circular queue is overflow’
else if front = -1 and rear =-1 then set
front = rear = 0
else if rear = MAX -1 and front !=0
set rear = 0
else
set rear = rear +1
Step 2: Set queue[rear] = val
Step 3: Exit
60 60
Q[0]
Q[1]
Q[4]
Q[2]Q[3]
Q[4]
Q[3] Q[2]
Q[1]
Q[0]
Rear
Rear
Front Front
20
5
10
5
20
10
30
(a) (b)
• If a new element is to be inserted in the queue,
the position of the element to be inserted will be
calculated by the relation as follows:
Rear = (rear +1) % MAXSIZE
• If we add an element 30 to the queue. The rear is calculated as follows:
rear = (rear +1) % MAXSIZE
=(2+1) % 5
=3
Circular Queue Diagram & Algorithm (to delete)
12
Algorithm to delete an element into circular Queue.
Step 1: If front = -1 the write ‘queue underflow’
Step 2: Set val = queue[front]
Step 3: if front = rear
set front = rear = -1
else
if front = MAX – 1
set front = 0
else
set front = front = -1
Step 4: Exit
60
Q[0]
Q[1]
Q[2]Q[3]
Q[4]
Rear
Front
20
5
10
(c)
The front is calculated as follow:
front = (0 + 1) % 5 = 1
4
Double ended Queue & Type
13
A deque is a list in which the elements can be inserted or deleted at either end.
In a dequeue two pointers are maintained LEFT and RIGHT which point to either end of the dequeue.
Front Rear
Insertion
Deletion Insertion
Deletion
Left = 3 Right = 7
0 1 2 3 4 5 6 7 8 9
29 37 45 54 63
(a) Double-ended queue
(1) Input Restricted dequeue: In this dequeue, insertion can be done only at one of the dequeue while deletions can
be done from both ends.
Insertion
Deletion
Deletion
(b) Input restricted dequeue
Double Ended Queue Algorithm to Insert at the Rear & Front End
14
Algorithm to insert at the Rear End.
Step 1: if (Rear = (max -1)) then
print “Queue is full”
Step 2: set Rear = Rear +1
Step 3: Queue[Rear] = element
Step 4: Exit
Algorithm to insert at the Front End.
Step 1: if front == 0 then
print “Queue is full”
rerun
Step 2: front = front -1
Step 3: Queue[front] = element
Step 4: Exit
Double Ended Queue Algorithm to Delete from the Rear & Front End
15
Algorithm to delete at the Rear End.
Step 1: if (front == rear) then
print “Queue is empty”
return
Step 2: Rear = Rear -1
Step 3: element = Queue[Rear]
Step 4: Exit
Algorithm to insert at the Front End.
Step 1: if (front == Rear) then
print “Queue is empty”
rerun
Step 2: front = front +1
Step 3: element = Queue[front]
Step 4: Exit
Priority Queue
In a priority queue ( i ) each element is assign a priority ( ii ) The elements are processed according to
• Highest priority element is processed before lower priority element.
• Two elements of same priority are processed according to the order of insertion.
A priority queue contains a collection of items that are waiting to be processed. In queue, items are removed for
processing in the same order in which they are added to the queue.
In a priority queue, however, each item, has a priority, and when its time to select an item, the item with the highest
priority is the one that is order.
16
Types of Priority Queue
1. Ascending Priority Queue
2. Descending Priority Queue
Application of Queue
• Queue are used in computer for scheduling of resources to application . These
resources are CPU, Printer etc.
• In batch Programming, multiple jobs are combined into a batch and the first program is
executed first, the second is executed next and so on in a sequential manners.
• A queue is used in break first search traversal of a graph & level wise traversal of tree.
• Computer simulation, Airport simulation.
17

More Related Content

What's hot (20)

Queue AS an ADT (Abstract Data Type)
Queue AS an ADT (Abstract Data Type)Queue AS an ADT (Abstract Data Type)
Queue AS an ADT (Abstract Data Type)
 
Arrays
ArraysArrays
Arrays
 
Priority queue in DSA
Priority queue in DSAPriority queue in DSA
Priority queue in DSA
 
Stack - Operations and Applications
Stack - Operations and ApplicationsStack - Operations and Applications
Stack - Operations and Applications
 
Linked list
Linked listLinked list
Linked list
 
Queue
QueueQueue
Queue
 
single linked list
single linked listsingle linked list
single linked list
 
Circular queue
Circular queueCircular queue
Circular queue
 
Queue ppt
Queue pptQueue ppt
Queue ppt
 
Queue Data Structure
Queue Data StructureQueue Data Structure
Queue Data Structure
 
Stack data structure
Stack data structureStack data structure
Stack data structure
 
Tree Traversal
Tree TraversalTree Traversal
Tree Traversal
 
Queue Data Structure
Queue Data StructureQueue Data Structure
Queue Data Structure
 
linked list in Data Structure, Simple and Easy Tutorial
linked list in Data Structure, Simple and Easy Tutoriallinked list in Data Structure, Simple and Easy Tutorial
linked list in Data Structure, Simple and Easy Tutorial
 
Doubly linked list (animated)
Doubly linked list (animated)Doubly linked list (animated)
Doubly linked list (animated)
 
Queue
QueueQueue
Queue
 
STACKS IN DATASTRUCTURE
STACKS IN DATASTRUCTURESTACKS IN DATASTRUCTURE
STACKS IN DATASTRUCTURE
 
Unit 4 queue
Unit   4 queueUnit   4 queue
Unit 4 queue
 
Stack and Queue
Stack and Queue Stack and Queue
Stack and Queue
 
linked lists in data structures
linked lists in data structureslinked lists in data structures
linked lists in data structures
 

Similar to Queue - Data Structure - Notes (20)

Stack.pptx
Stack.pptxStack.pptx
Stack.pptx
 
Queue
QueueQueue
Queue
 
@Chapter 4 DSA Part II.pptx
@Chapter 4 DSA Part II.pptx@Chapter 4 DSA Part II.pptx
@Chapter 4 DSA Part II.pptx
 
Data Structures by Maneesh Boddu
Data Structures by Maneesh BodduData Structures by Maneesh Boddu
Data Structures by Maneesh Boddu
 
Queue
QueueQueue
Queue
 
Queue
QueueQueue
Queue
 
Queue
QueueQueue
Queue
 
LEC4-DS ALGO.pdf
LEC4-DS  ALGO.pdfLEC4-DS  ALGO.pdf
LEC4-DS ALGO.pdf
 
Queues presentation
Queues presentationQueues presentation
Queues presentation
 
Queues & ITS TYPES
Queues & ITS TYPESQueues & ITS TYPES
Queues & ITS TYPES
 
Stack and queue
Stack and queueStack and queue
Stack and queue
 
05 queues
05 queues05 queues
05 queues
 
Queue(lecture8).pptx
Queue(lecture8).pptxQueue(lecture8).pptx
Queue(lecture8).pptx
 
Queue
QueueQueue
Queue
 
Queues in C++
Queues in C++Queues in C++
Queues in C++
 
Lect 17-18 Zaheer Abbas
Lect 17-18 Zaheer AbbasLect 17-18 Zaheer Abbas
Lect 17-18 Zaheer Abbas
 
Queue
QueueQueue
Queue
 
Queue
QueueQueue
Queue
 
4. Queues in Data Structure
4. Queues in Data Structure4. Queues in Data Structure
4. Queues in Data Structure
 
Lecture 2d queues
Lecture 2d queuesLecture 2d queues
Lecture 2d queues
 

More from Omprakash Chauhan

Stack - Data Structure - Notes
Stack - Data Structure - NotesStack - Data Structure - Notes
Stack - Data Structure - NotesOmprakash Chauhan
 
Sorting and Searching - Data Structure - Notes
Sorting and Searching - Data Structure - NotesSorting and Searching - Data Structure - Notes
Sorting and Searching - Data Structure - NotesOmprakash Chauhan
 
Basic of Data Structure - Data Structure - Notes
Basic of Data Structure - Data Structure - NotesBasic of Data Structure - Data Structure - Notes
Basic of Data Structure - Data Structure - NotesOmprakash Chauhan
 
Polygons - Computer Graphics - Notes
Polygons - Computer Graphics - NotesPolygons - Computer Graphics - Notes
Polygons - Computer Graphics - NotesOmprakash Chauhan
 
Line Drawing Algorithms - Computer Graphics - Notes
Line Drawing Algorithms - Computer Graphics - NotesLine Drawing Algorithms - Computer Graphics - Notes
Line Drawing Algorithms - Computer Graphics - NotesOmprakash Chauhan
 
Basic of computer graphic - Computer Graphic - Notes
Basic of computer graphic - Computer Graphic - NotesBasic of computer graphic - Computer Graphic - Notes
Basic of computer graphic - Computer Graphic - NotesOmprakash Chauhan
 
E-R Diagram of College Management Systems
E-R Diagram of College Management SystemsE-R Diagram of College Management Systems
E-R Diagram of College Management SystemsOmprakash Chauhan
 
Full Wave Rectifier (FWR) Microproject
Full Wave Rectifier (FWR) MicroprojectFull Wave Rectifier (FWR) Microproject
Full Wave Rectifier (FWR) MicroprojectOmprakash Chauhan
 
A detailed study of guidelines required for presentation skills
A detailed study of guidelines required for presentation skillsA detailed study of guidelines required for presentation skills
A detailed study of guidelines required for presentation skillsOmprakash Chauhan
 
Fractional-horsepower Motor Report
Fractional-horsepower Motor ReportFractional-horsepower Motor Report
Fractional-horsepower Motor ReportOmprakash Chauhan
 
motherboard electronic components and their functions
motherboard electronic components and their functionsmotherboard electronic components and their functions
motherboard electronic components and their functionsOmprakash Chauhan
 
How To Area of irregular shape Using Integration Method.
How To Area of irregular shape Using Integration Method.How To Area of irregular shape Using Integration Method.
How To Area of irregular shape Using Integration Method.Omprakash Chauhan
 
Welcome to the world of ionization
Welcome to the world of ionization Welcome to the world of ionization
Welcome to the world of ionization Omprakash Chauhan
 

More from Omprakash Chauhan (19)

Introduction to curve
Introduction to curveIntroduction to curve
Introduction to curve
 
Stack - Data Structure - Notes
Stack - Data Structure - NotesStack - Data Structure - Notes
Stack - Data Structure - Notes
 
Sorting and Searching - Data Structure - Notes
Sorting and Searching - Data Structure - NotesSorting and Searching - Data Structure - Notes
Sorting and Searching - Data Structure - Notes
 
Basic of Data Structure - Data Structure - Notes
Basic of Data Structure - Data Structure - NotesBasic of Data Structure - Data Structure - Notes
Basic of Data Structure - Data Structure - Notes
 
Polygons - Computer Graphics - Notes
Polygons - Computer Graphics - NotesPolygons - Computer Graphics - Notes
Polygons - Computer Graphics - Notes
 
Line Drawing Algorithms - Computer Graphics - Notes
Line Drawing Algorithms - Computer Graphics - NotesLine Drawing Algorithms - Computer Graphics - Notes
Line Drawing Algorithms - Computer Graphics - Notes
 
Basic of computer graphic - Computer Graphic - Notes
Basic of computer graphic - Computer Graphic - NotesBasic of computer graphic - Computer Graphic - Notes
Basic of computer graphic - Computer Graphic - Notes
 
E-R Diagram of College Management Systems
E-R Diagram of College Management SystemsE-R Diagram of College Management Systems
E-R Diagram of College Management Systems
 
Burglar Alarm Micro Project
Burglar Alarm Micro ProjectBurglar Alarm Micro Project
Burglar Alarm Micro Project
 
Simple Calculator Flowchart
Simple Calculator FlowchartSimple Calculator Flowchart
Simple Calculator Flowchart
 
Full Wave Rectifier (FWR) Microproject
Full Wave Rectifier (FWR) MicroprojectFull Wave Rectifier (FWR) Microproject
Full Wave Rectifier (FWR) Microproject
 
A detailed study of guidelines required for presentation skills
A detailed study of guidelines required for presentation skillsA detailed study of guidelines required for presentation skills
A detailed study of guidelines required for presentation skills
 
Fractional-horsepower Motor Report
Fractional-horsepower Motor ReportFractional-horsepower Motor Report
Fractional-horsepower Motor Report
 
motherboard electronic components and their functions
motherboard electronic components and their functionsmotherboard electronic components and their functions
motherboard electronic components and their functions
 
How To Area of irregular shape Using Integration Method.
How To Area of irregular shape Using Integration Method.How To Area of irregular shape Using Integration Method.
How To Area of irregular shape Using Integration Method.
 
Process of ionization
Process of ionizationProcess of ionization
Process of ionization
 
Welcome to the world of ionization
Welcome to the world of ionization Welcome to the world of ionization
Welcome to the world of ionization
 
Printer
PrinterPrinter
Printer
 
System of units
System of unitsSystem of units
System of units
 

Recently uploaded

Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxVelmuruganTECE
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - GuideGOPINATHS437943
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptNarmatha D
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgsaravananr517913
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdfCaalaaAbdulkerim
 

Recently uploaded (20)

Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptx
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - Guide
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.ppt
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdf
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 

Queue - Data Structure - Notes

  • 1. Definition of Queue An ordered collection of items from which items may be deleted from one end called the front and into which items may be inserted from other end called rear is known as Queue. It is a linear data structure. It is called First In First Out (FIFO) list. Since in queue, first element will be the first element out. 1 Deletion Front Rear Insertion (a) Insertion and deletion of elements in Queue
  • 2. Queue (Example) 2 Front Rear (b) Queue A B C D Front Rear A B C D E (c) Front and near pointer after insertion Front Rear (d) Front and rear pointer after deletion B C D E Element E will be added at the rear end.Queue with four elements A, B, C and D. A is at front and D is at rear. Element can be deleted only from the front. Thus, A will be the first to be removed from the queue.
  • 3. Difference between Stack & Queue. 3 SR Stack Queue 1 Stack is a LIFO (Last in first out) data structure. Queue is a FIFO (first in first out) data structure. 2 In a stack, all insertion and deletions are permitted only at one end of stack called top of stack. In a queue items are inserted at one end called the rear and deleted from the other end called the front. 3 Stack is widely used in recursion. Queue is more useful in many of the real life applications. 4 Example: A stack of plates, a stack of coin etc. Example: A queue of people waiting to purchase tickets, in a computer system process waiting for line printer etc.
  • 4. Operations on a Queue. 1. Create: Creates empty queue. 2. Insert: Add new element at rear. 3. Delete: Delete element at front. 4. Isempty: Checks queue is empty or not. 5. Isfull: Checks queue is full or not. 4
  • 5. Algorithm to insert and delete element in the Queue. 1. Create an empty queue by giving name and 2. Initially assign Rear = -1, front = -1. 3. If choice == Insert then if Rear == max-1 then print “queue is full” else Rear = Rear +1 q [Rear] = element 4. If choice == Delete then If front == -1 then print “queue is empty” else front = front +1 5. Stop 5
  • 6. Queue as an abstract data type (1) Initialize the queue to be empty. (2) Check if the queue is empty or not. (3) Check if the queue is full or not. (4) Insert a new element in the queue if it is not full. (5) Retrieve the value of first element of the queue, if the queue is not empty. (6) Delete the first element from the queue if it is not empty. Queue abstract data type = Queue elements + Queue operations. 6
  • 7. Representation of an Queue as an Array 7 Deletion Front Rear Deletion (a) Queue with array Front = -1 Rear = -1 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 (b) Empty Queue (c) Queue after adding an element U (d) Queue after adding 5 element Front = 0 Rear = 0 Front = 0 Rear = 4 Front = 1 U V X Y ZU V W X Y Rear = 4 (E) Queue after adding U element
  • 8. Types of Queue 1. Linear Queue. 2. Circular Queue. 3. Double ended Queue. 4. Priority Queue. 8
  • 9. Circular Queue full (overflow) 9 60 30 60 50 40 20 10 Q[5] Q[1] Q[4] Q[0] Q[3] Q[2] Circular queue full
  • 10. 10 Circular Queue Empty (underflow) 60 Q[5] Q[1] Q[4] Q[0] Q[3] Q[2] Circular queue empty
  • 11. Circular Queue Diagram & Algorithm (to insert) 11 Algorithm to insert an element into circular Queue. Step 1: If front = 0 and rear = MAX -1 then write ‘circular queue is overflow’ else if front = -1 and rear =-1 then set front = rear = 0 else if rear = MAX -1 and front !=0 set rear = 0 else set rear = rear +1 Step 2: Set queue[rear] = val Step 3: Exit 60 60 Q[0] Q[1] Q[4] Q[2]Q[3] Q[4] Q[3] Q[2] Q[1] Q[0] Rear Rear Front Front 20 5 10 5 20 10 30 (a) (b) • If a new element is to be inserted in the queue, the position of the element to be inserted will be calculated by the relation as follows: Rear = (rear +1) % MAXSIZE • If we add an element 30 to the queue. The rear is calculated as follows: rear = (rear +1) % MAXSIZE =(2+1) % 5 =3
  • 12. Circular Queue Diagram & Algorithm (to delete) 12 Algorithm to delete an element into circular Queue. Step 1: If front = -1 the write ‘queue underflow’ Step 2: Set val = queue[front] Step 3: if front = rear set front = rear = -1 else if front = MAX – 1 set front = 0 else set front = front = -1 Step 4: Exit 60 Q[0] Q[1] Q[2]Q[3] Q[4] Rear Front 20 5 10 (c) The front is calculated as follow: front = (0 + 1) % 5 = 1 4
  • 13. Double ended Queue & Type 13 A deque is a list in which the elements can be inserted or deleted at either end. In a dequeue two pointers are maintained LEFT and RIGHT which point to either end of the dequeue. Front Rear Insertion Deletion Insertion Deletion Left = 3 Right = 7 0 1 2 3 4 5 6 7 8 9 29 37 45 54 63 (a) Double-ended queue (1) Input Restricted dequeue: In this dequeue, insertion can be done only at one of the dequeue while deletions can be done from both ends. Insertion Deletion Deletion (b) Input restricted dequeue
  • 14. Double Ended Queue Algorithm to Insert at the Rear & Front End 14 Algorithm to insert at the Rear End. Step 1: if (Rear = (max -1)) then print “Queue is full” Step 2: set Rear = Rear +1 Step 3: Queue[Rear] = element Step 4: Exit Algorithm to insert at the Front End. Step 1: if front == 0 then print “Queue is full” rerun Step 2: front = front -1 Step 3: Queue[front] = element Step 4: Exit
  • 15. Double Ended Queue Algorithm to Delete from the Rear & Front End 15 Algorithm to delete at the Rear End. Step 1: if (front == rear) then print “Queue is empty” return Step 2: Rear = Rear -1 Step 3: element = Queue[Rear] Step 4: Exit Algorithm to insert at the Front End. Step 1: if (front == Rear) then print “Queue is empty” rerun Step 2: front = front +1 Step 3: element = Queue[front] Step 4: Exit
  • 16. Priority Queue In a priority queue ( i ) each element is assign a priority ( ii ) The elements are processed according to • Highest priority element is processed before lower priority element. • Two elements of same priority are processed according to the order of insertion. A priority queue contains a collection of items that are waiting to be processed. In queue, items are removed for processing in the same order in which they are added to the queue. In a priority queue, however, each item, has a priority, and when its time to select an item, the item with the highest priority is the one that is order. 16 Types of Priority Queue 1. Ascending Priority Queue 2. Descending Priority Queue
  • 17. Application of Queue • Queue are used in computer for scheduling of resources to application . These resources are CPU, Printer etc. • In batch Programming, multiple jobs are combined into a batch and the first program is executed first, the second is executed next and so on in a sequential manners. • A queue is used in break first search traversal of a graph & level wise traversal of tree. • Computer simulation, Airport simulation. 17