SlideShare una empresa de Scribd logo
1 de 37
Data Structure and
Algorithm (CS 102)
Ashok K Turuk
Queue
• A queue is a linear list of elements in
which
– deletion can take place only at one end
called Front, and
– Insertion takes place at one end called
Rear

• Queues are also known as First-InFirst-Out (FIFO) list
Queue
• Queue are represented in two-ways
– Linear Array
– One-way Linked List
Array representation of Queue
• A queue is maintained by a
– linear array QUEUE
– Two pointer variable
• FRONT : Containing the location of the front
element of the queue
• REAR : Containing

• FRONT == NULL indicates that the
queue is empty
Queue
FRONT: 1
REAR: 4

AA BB CC DD
1
2
3
4
5

…
6

7

N

Delete an element
FRONT: 2
REAR: 4

1

BB CC DD
2
3
4
5

…
6

7

N

Whenever an element is deleted from the
queue, the value of FRONT is increased by 1
FRONT = FRONT + 1
Queue
FRONT: 2

REAR: 4

BB CC DD

1

2

3

4

…

5

6

7

N

Insert an element
FRONT: 2
REAR: 5

1

BB CC DD EE
2
3
4
5
6

…
7

Whenever an element is inserted into the
queue, the value of REAR is increased by 1
REAR = REAR + 1

N
Queue
• REAR = N and Insert an element into
queue
FRONT: 7
REAR: N

1

2

3

4

5

6

XX …
7

Move the entire queue to the beginning of the
array
Change the FRONT and REAR accordingly
Insert the element
This procedure is too expensive

ZZ
N
Queue
• Queue is assumed to be circular
• QUEUE[1] comes after QUEUE[N]
• Instead of increasing REAR to N +1, we
reset REAR = 1 and then assign
QUEUE[REAR] = ITEM
Queue
• FRONT = N and an element of QUEUE
is Deleted
FRONT: N
REAR:

1

2

3

4

5

6

XX …
7

We reset FRONT = 1, instead of increasing
FRONT to N + 1

ZZ
N
Queue
• QUEUE contain one element
FRONT = REAR NULL
FRONT: 7
REAR: 7

1

2

3

4

5

6

FRONT = NULL and REAR = NULL

XX …
7

N
Algorithm to Insert in Q
[1] If FRONT = 1 and REAR = N or if FRONT =
REAR + 1 then Print: Overflow and Exit
[2] If FRONT = NULL then
Set FRONT = 1 and REAR = 1
Else If REAR = N then
Set REAR = 1
Else
Set REAR = REAR + 1
[3] Set QUEUE[REAR] = ITEM
[4] Exit
Queue

FRONT: 7
REAR: 6

AA BB CC DD EE FF
1
2
3
4
5
6

FRONT = REAR + 1 [FULL QUEUE]

XX …
7

ZZ
N
Algorithm to Delete from Q
[1] If FRONT = NULL then Print: Underflow and
Exit
[2] Set ITEM = QUEUE[FRONT]
[3]

If FRONT = REAR then
Set FRONT = NULL and REAR = NULL
Else If FRONT = N then
Set FRONT = 1
Else
Set FRONT = FRONT + 1
[4] Exit
Linked List Representation of Queue
• A linked queue is a queue implemented
as linked list with two pointer variable
FRONT and REAR pointing to the nodes
which is in the FRONT and REAR of the
queue
Linked List Representation of
Queue
FRONT
CC

BB

AA X
REAR

15
Insertion in a Queue
FRONT
AA

BB
NEW

CC X
REAR
DD

16
Insertion in a Queue
FRONT
AA

BB

CC X
DD
REAR
17
Delete from a Queue
FRONT
CC

BB

AA X
REAR

18
Delete from a Queue

FRONT
BB

AA X
REAR

19
Linked Queue
• No need to check for overflow condition
during insertion
• No need to view it as circular for
efficient management of space
Insertion
[1] NEW -> INFO = ITEM
NEW -> LINK = NULL
[2] If (FRONT = NULL) then
FRONT = REAR = NULL
else
Set REAR -> LINK = NEW
REAR = NEW
[3] Exit
Deletion
[1] If (FRONT = NULL) then
Print: Overflow, and Exit
[2] FRONT = FRONT -> LINK
[3] Exit
Deque
• A deque is a linear list in which
elements can be added or removed at
either end but not in the middle

• Deque is implemented by a circular
array DEQUE with pointers LEFT and
RIGHT which points to the two end of
the deque
Deque
• LEFT = NULL indicate deque is empty
LEFT: 4
RIGHT: 7

LEFT: 4
RIGHT: 7

1

2

YY
1

3

ZZ
2
3

AA BB CC DD
4
5
6
7
8

4

5

6

WW XX
7
8
Variation of deque
• There are two variation of deque
[1] Input-restricted queue: Deque which
allows insertions at only one end of the list
but allows deletion at both ends of the list
[2] Output-restricted queue: Deque which
allows deletion at only one end of the list
but allows insertion at both ends of the
list
Deque
LEFT: 2
RIGHT: 4

1

A
2

C
3

D
4

5

6

F is added to the right
LEFT: 2
RIGHT: 5

1

A
2

C
3

D
4

F
5

6
Deque
LEFT: 2
RIGHT: 5

1

A
2

C
3

D
4

F
5

6

Two Letters on right is deleted
LEFT: 2
RIGHT: 3

1

A
2

C
3

4

5

6
Deque
LEFT: 2
RIGHT: 3

1

A
2

C
3

4

5

6

K, L and M are added to the Left
LEFT: 5
RIGHT: 3

K
1

A
2

C
3

4

M
5

L
6
Priority Queue
• A priority queue is a collection of elements
such that each elements has been assigned
a priority and such that the order in which
elements are deleted and processed comes
from the following rules:
[1] Elements of higher priority is processed
before any elements of lower priority
[2] Two elements with the same priority are
processed according to the order in which
they were added to the queue
Priority Queue
• There are different ways a priority
queue can be represented such as
[1] One-way List
[2] Multiple queue
One-Way List Representation of
a Priority Queue
[1] Each node in the list will contain three
items of information: an information
field INFO, a priority number PRN,
and a link number LINK
[2] A node X precedes a node Y in the list
(a) when X has higher priority than Y or
(b) when both have same priority but X
was added to the list before Y
Queue

Head
A1

B2

F2

D3

32
Insertion and Deletion
• Deletion : Delete the first node in the
list.
• Insertion: Find the location of Insertion
Add an ITEM with priority number N
[a] Traverse the list until finding a node X
whose priority exceeds N. Insert ITEM
in front of node X
[b] If no such node is found, insert ITEM
as the last element of the list
Array representation of Priority
Queue
• Separate queue for each level of
priority
• Each queue will appear in its own
circular array and must have its own
pair of pointers, FRONT and REAR
• If each queue is given the same amount
space then a 2D queue can be used
QUEUE

FRONT REAR
1
1
2
3
4
5

2
1
0
5
4

2
3
0
1
4

1
2
3
4
5

BB

2
AA
CC

3

4

5

DD

EE

DD

FF

GG
Deletion Algorithm [outline]
[1] Find the smallest K such that
FRONT[K] NULL
[2] Delete and process the front element
in row K of QUEUE
[3] Exit
Insertion Algorithm [outline]
[1] Insert ITEM as the rear element in
row M of QUEUE
[2] Exit

Más contenido relacionado

La actualidad más candente (20)

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
 
Trees, Binary Search Tree, AVL Tree in Data Structures
Trees, Binary Search Tree, AVL Tree in Data Structures Trees, Binary Search Tree, AVL Tree in Data Structures
Trees, Binary Search Tree, AVL Tree in Data Structures
 
Searching in Arrays
Searching in ArraysSearching in Arrays
Searching in Arrays
 
stack & queue
stack & queuestack & queue
stack & queue
 
Classification of datastructure.ppt
Classification of datastructure.pptClassification of datastructure.ppt
Classification of datastructure.ppt
 
Stacks IN DATA STRUCTURES
Stacks IN DATA STRUCTURESStacks IN DATA STRUCTURES
Stacks IN DATA STRUCTURES
 
Heap sort
Heap sortHeap sort
Heap sort
 
Trees data structure
Trees data structureTrees data structure
Trees data structure
 
Insertion sort
Insertion sortInsertion sort
Insertion sort
 
Heap tree
Heap treeHeap tree
Heap tree
 
Application of Stack - Yadraj Meena
Application of Stack - Yadraj MeenaApplication of Stack - Yadraj Meena
Application of Stack - Yadraj Meena
 
linear search and binary search
linear search and binary searchlinear search and binary search
linear search and binary search
 
Linklist
LinklistLinklist
Linklist
 
Linked lists
Linked listsLinked lists
Linked lists
 
Stacks
StacksStacks
Stacks
 
Queues
QueuesQueues
Queues
 
Heapsort ppt
Heapsort pptHeapsort ppt
Heapsort ppt
 
10. Search Tree - Data Structures using C++ by Varsha Patil
10. Search Tree - Data Structures using C++ by Varsha Patil10. Search Tree - Data Structures using C++ by Varsha Patil
10. Search Tree - Data Structures using C++ by Varsha Patil
 
Doubly Linked List
Doubly Linked ListDoubly Linked List
Doubly Linked List
 
Sparse matrix
Sparse matrixSparse matrix
Sparse matrix
 

Similar a CS102 Data Structures Queue Priority

Unit 2 linked list and queues
Unit 2   linked list and queuesUnit 2   linked list and queues
Unit 2 linked list and queueskalyanineve
 
Detalied information of queue
Detalied information of queueDetalied information of queue
Detalied information of queueSmit Parikh
 
Queue in Data Structure
Queue in Data Structure Queue in Data Structure
Queue in Data Structure Janki Shah
 
Lecture 3 data structures and algorithms
Lecture 3 data structures and algorithmsLecture 3 data structures and algorithms
Lecture 3 data structures and algorithmsAakash deep Singhal
 
2. Array in Data Structure
2. Array in Data Structure2. Array in Data Structure
2. Array in Data StructureMandeep Singh
 
4.linked list(contd.)
4.linked list(contd.)4.linked list(contd.)
4.linked list(contd.)Chandan Singh
 
queue & its applications
queue & its applicationsqueue & its applications
queue & its applicationssomendra kumar
 
Bsc cs ii dfs u-2 linklist,stack,queue
Bsc cs ii  dfs u-2 linklist,stack,queueBsc cs ii  dfs u-2 linklist,stack,queue
Bsc cs ii dfs u-2 linklist,stack,queueRai University
 
Mca ii dfs u-3 linklist,stack,queue
Mca ii dfs u-3 linklist,stack,queueMca ii dfs u-3 linklist,stack,queue
Mca ii dfs u-3 linklist,stack,queueRai University
 
4. Queues in Data Structure
4. Queues in Data Structure4. Queues in Data Structure
4. Queues in Data StructureMandeep Singh
 
Data Structure and Algorithms Queues
Data Structure and Algorithms QueuesData Structure and Algorithms Queues
Data Structure and Algorithms QueuesManishPrajapati78
 
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,queueRai University
 

Similar a CS102 Data Structures Queue Priority (20)

6.queue
6.queue6.queue
6.queue
 
Unit 2 linked list and queues
Unit 2   linked list and queuesUnit 2   linked list and queues
Unit 2 linked list and queues
 
2.DS Array
2.DS Array2.DS Array
2.DS Array
 
Arrays
ArraysArrays
Arrays
 
Detalied information of queue
Detalied information of queueDetalied information of queue
Detalied information of queue
 
Queue
QueueQueue
Queue
 
Queue in Data Structure
Queue in Data Structure Queue in Data Structure
Queue in Data Structure
 
Lecture 3 data structures and algorithms
Lecture 3 data structures and algorithmsLecture 3 data structures and algorithms
Lecture 3 data structures and algorithms
 
2. Array in Data Structure
2. Array in Data Structure2. Array in Data Structure
2. Array in Data Structure
 
queue_final.pptx
queue_final.pptxqueue_final.pptx
queue_final.pptx
 
Queue
QueueQueue
Queue
 
Stack q ll algo
Stack q ll algoStack q ll algo
Stack q ll algo
 
4.linked list(contd.)
4.linked list(contd.)4.linked list(contd.)
4.linked list(contd.)
 
queue & its applications
queue & its applicationsqueue & its applications
queue & its applications
 
Bsc cs ii dfs u-2 linklist,stack,queue
Bsc cs ii  dfs u-2 linklist,stack,queueBsc cs ii  dfs u-2 linklist,stack,queue
Bsc cs ii dfs u-2 linklist,stack,queue
 
Mca ii dfs u-3 linklist,stack,queue
Mca ii dfs u-3 linklist,stack,queueMca ii dfs u-3 linklist,stack,queue
Mca ii dfs u-3 linklist,stack,queue
 
4. Queues in Data Structure
4. Queues in Data Structure4. Queues in Data Structure
4. Queues in Data Structure
 
Data Structure and Algorithms Queues
Data Structure and Algorithms QueuesData Structure and Algorithms Queues
Data Structure and Algorithms Queues
 
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
 
LEC3-DS ALGO(updated).pdf
LEC3-DS  ALGO(updated).pdfLEC3-DS  ALGO(updated).pdf
LEC3-DS ALGO(updated).pdf
 

Más de Aakash deep Singhal

Lecture 15 data structures and algorithms
Lecture 15 data structures and algorithmsLecture 15 data structures and algorithms
Lecture 15 data structures and algorithmsAakash deep Singhal
 
Lecture 14 data structures and algorithms
Lecture 14 data structures and algorithmsLecture 14 data structures and algorithms
Lecture 14 data structures and algorithmsAakash deep Singhal
 
Lecture 13 data structures and algorithms
Lecture 13 data structures and algorithmsLecture 13 data structures and algorithms
Lecture 13 data structures and algorithmsAakash deep Singhal
 
Lecture 12 data structures and algorithms
Lecture 12 data structures and algorithmsLecture 12 data structures and algorithms
Lecture 12 data structures and algorithmsAakash deep Singhal
 
Lecture 11 data structures and algorithms
Lecture 11 data structures and algorithmsLecture 11 data structures and algorithms
Lecture 11 data structures and algorithmsAakash deep Singhal
 
Lecture 10 data structures and algorithms
Lecture 10 data structures and algorithmsLecture 10 data structures and algorithms
Lecture 10 data structures and algorithmsAakash deep Singhal
 
Lecture 9 data structures and algorithms
Lecture 9 data structures and algorithmsLecture 9 data structures and algorithms
Lecture 9 data structures and algorithmsAakash deep Singhal
 
Lecture 8 data structures and algorithms
Lecture 8 data structures and algorithmsLecture 8 data structures and algorithms
Lecture 8 data structures and algorithmsAakash deep Singhal
 
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
 
Lecture 4 data structures and algorithms
Lecture 4 data structures and algorithmsLecture 4 data structures and algorithms
Lecture 4 data structures and algorithmsAakash deep Singhal
 
Lecture 2 data structures and algorithms
Lecture 2 data structures and algorithmsLecture 2 data structures and algorithms
Lecture 2 data structures and algorithmsAakash deep Singhal
 
Lecture 1 data structures and algorithms
Lecture 1 data structures and algorithmsLecture 1 data structures and algorithms
Lecture 1 data structures and algorithmsAakash deep Singhal
 
Lecture 16 data structures and algorithms
Lecture 16 data structures and algorithmsLecture 16 data structures and algorithms
Lecture 16 data structures and algorithmsAakash deep Singhal
 

Más de Aakash deep Singhal (14)

Subsidence in coal mines
Subsidence in coal minesSubsidence in coal mines
Subsidence in coal mines
 
Lecture 15 data structures and algorithms
Lecture 15 data structures and algorithmsLecture 15 data structures and algorithms
Lecture 15 data structures and algorithms
 
Lecture 14 data structures and algorithms
Lecture 14 data structures and algorithmsLecture 14 data structures and algorithms
Lecture 14 data structures and algorithms
 
Lecture 13 data structures and algorithms
Lecture 13 data structures and algorithmsLecture 13 data structures and algorithms
Lecture 13 data structures and algorithms
 
Lecture 12 data structures and algorithms
Lecture 12 data structures and algorithmsLecture 12 data structures and algorithms
Lecture 12 data structures and algorithms
 
Lecture 11 data structures and algorithms
Lecture 11 data structures and algorithmsLecture 11 data structures and algorithms
Lecture 11 data structures and algorithms
 
Lecture 10 data structures and algorithms
Lecture 10 data structures and algorithmsLecture 10 data structures and algorithms
Lecture 10 data structures and algorithms
 
Lecture 9 data structures and algorithms
Lecture 9 data structures and algorithmsLecture 9 data structures and algorithms
Lecture 9 data structures and algorithms
 
Lecture 8 data structures and algorithms
Lecture 8 data structures and algorithmsLecture 8 data structures and algorithms
Lecture 8 data structures and algorithms
 
Lecture 5 data structures and algorithms
Lecture 5 data structures and algorithmsLecture 5 data structures and algorithms
Lecture 5 data structures and algorithms
 
Lecture 4 data structures and algorithms
Lecture 4 data structures and algorithmsLecture 4 data structures and algorithms
Lecture 4 data structures and algorithms
 
Lecture 2 data structures and algorithms
Lecture 2 data structures and algorithmsLecture 2 data structures and algorithms
Lecture 2 data structures and algorithms
 
Lecture 1 data structures and algorithms
Lecture 1 data structures and algorithmsLecture 1 data structures and algorithms
Lecture 1 data structures and algorithms
 
Lecture 16 data structures and algorithms
Lecture 16 data structures and algorithmsLecture 16 data structures and algorithms
Lecture 16 data structures and algorithms
 

Último

INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxleah joy valeriano
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 

Último (20)

LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 

CS102 Data Structures Queue Priority

  • 1. Data Structure and Algorithm (CS 102) Ashok K Turuk
  • 2. Queue • A queue is a linear list of elements in which – deletion can take place only at one end called Front, and – Insertion takes place at one end called Rear • Queues are also known as First-InFirst-Out (FIFO) list
  • 3. Queue • Queue are represented in two-ways – Linear Array – One-way Linked List
  • 4. Array representation of Queue • A queue is maintained by a – linear array QUEUE – Two pointer variable • FRONT : Containing the location of the front element of the queue • REAR : Containing • FRONT == NULL indicates that the queue is empty
  • 5. Queue FRONT: 1 REAR: 4 AA BB CC DD 1 2 3 4 5 … 6 7 N Delete an element FRONT: 2 REAR: 4 1 BB CC DD 2 3 4 5 … 6 7 N Whenever an element is deleted from the queue, the value of FRONT is increased by 1 FRONT = FRONT + 1
  • 6. Queue FRONT: 2 REAR: 4 BB CC DD 1 2 3 4 … 5 6 7 N Insert an element FRONT: 2 REAR: 5 1 BB CC DD EE 2 3 4 5 6 … 7 Whenever an element is inserted into the queue, the value of REAR is increased by 1 REAR = REAR + 1 N
  • 7. Queue • REAR = N and Insert an element into queue FRONT: 7 REAR: N 1 2 3 4 5 6 XX … 7 Move the entire queue to the beginning of the array Change the FRONT and REAR accordingly Insert the element This procedure is too expensive ZZ N
  • 8. Queue • Queue is assumed to be circular • QUEUE[1] comes after QUEUE[N] • Instead of increasing REAR to N +1, we reset REAR = 1 and then assign QUEUE[REAR] = ITEM
  • 9. Queue • FRONT = N and an element of QUEUE is Deleted FRONT: N REAR: 1 2 3 4 5 6 XX … 7 We reset FRONT = 1, instead of increasing FRONT to N + 1 ZZ N
  • 10. Queue • QUEUE contain one element FRONT = REAR NULL FRONT: 7 REAR: 7 1 2 3 4 5 6 FRONT = NULL and REAR = NULL XX … 7 N
  • 11. Algorithm to Insert in Q [1] If FRONT = 1 and REAR = N or if FRONT = REAR + 1 then Print: Overflow and Exit [2] If FRONT = NULL then Set FRONT = 1 and REAR = 1 Else If REAR = N then Set REAR = 1 Else Set REAR = REAR + 1 [3] Set QUEUE[REAR] = ITEM [4] Exit
  • 12. Queue FRONT: 7 REAR: 6 AA BB CC DD EE FF 1 2 3 4 5 6 FRONT = REAR + 1 [FULL QUEUE] XX … 7 ZZ N
  • 13. Algorithm to Delete from Q [1] If FRONT = NULL then Print: Underflow and Exit [2] Set ITEM = QUEUE[FRONT] [3] If FRONT = REAR then Set FRONT = NULL and REAR = NULL Else If FRONT = N then Set FRONT = 1 Else Set FRONT = FRONT + 1 [4] Exit
  • 14. Linked List Representation of Queue • A linked queue is a queue implemented as linked list with two pointer variable FRONT and REAR pointing to the nodes which is in the FRONT and REAR of the queue
  • 15. Linked List Representation of Queue FRONT CC BB AA X REAR 15
  • 16. Insertion in a Queue FRONT AA BB NEW CC X REAR DD 16
  • 17. Insertion in a Queue FRONT AA BB CC X DD REAR 17
  • 18. Delete from a Queue FRONT CC BB AA X REAR 18
  • 19. Delete from a Queue FRONT BB AA X REAR 19
  • 20. Linked Queue • No need to check for overflow condition during insertion • No need to view it as circular for efficient management of space
  • 21. Insertion [1] NEW -> INFO = ITEM NEW -> LINK = NULL [2] If (FRONT = NULL) then FRONT = REAR = NULL else Set REAR -> LINK = NEW REAR = NEW [3] Exit
  • 22. Deletion [1] If (FRONT = NULL) then Print: Overflow, and Exit [2] FRONT = FRONT -> LINK [3] Exit
  • 23. Deque • A deque is a linear list in which elements can be added or removed at either end but not in the middle • Deque is implemented by a circular array DEQUE with pointers LEFT and RIGHT which points to the two end of the deque
  • 24. Deque • LEFT = NULL indicate deque is empty LEFT: 4 RIGHT: 7 LEFT: 4 RIGHT: 7 1 2 YY 1 3 ZZ 2 3 AA BB CC DD 4 5 6 7 8 4 5 6 WW XX 7 8
  • 25. Variation of deque • There are two variation of deque [1] Input-restricted queue: Deque which allows insertions at only one end of the list but allows deletion at both ends of the list [2] Output-restricted queue: Deque which allows deletion at only one end of the list but allows insertion at both ends of the list
  • 26. Deque LEFT: 2 RIGHT: 4 1 A 2 C 3 D 4 5 6 F is added to the right LEFT: 2 RIGHT: 5 1 A 2 C 3 D 4 F 5 6
  • 27. Deque LEFT: 2 RIGHT: 5 1 A 2 C 3 D 4 F 5 6 Two Letters on right is deleted LEFT: 2 RIGHT: 3 1 A 2 C 3 4 5 6
  • 28. Deque LEFT: 2 RIGHT: 3 1 A 2 C 3 4 5 6 K, L and M are added to the Left LEFT: 5 RIGHT: 3 K 1 A 2 C 3 4 M 5 L 6
  • 29. Priority Queue • A priority queue is a collection of elements such that each elements has been assigned a priority and such that the order in which elements are deleted and processed comes from the following rules: [1] Elements of higher priority is processed before any elements of lower priority [2] Two elements with the same priority are processed according to the order in which they were added to the queue
  • 30. Priority Queue • There are different ways a priority queue can be represented such as [1] One-way List [2] Multiple queue
  • 31. One-Way List Representation of a Priority Queue [1] Each node in the list will contain three items of information: an information field INFO, a priority number PRN, and a link number LINK [2] A node X precedes a node Y in the list (a) when X has higher priority than Y or (b) when both have same priority but X was added to the list before Y
  • 33. Insertion and Deletion • Deletion : Delete the first node in the list. • Insertion: Find the location of Insertion Add an ITEM with priority number N [a] Traverse the list until finding a node X whose priority exceeds N. Insert ITEM in front of node X [b] If no such node is found, insert ITEM as the last element of the list
  • 34. Array representation of Priority Queue • Separate queue for each level of priority • Each queue will appear in its own circular array and must have its own pair of pointers, FRONT and REAR • If each queue is given the same amount space then a 2D queue can be used
  • 36. Deletion Algorithm [outline] [1] Find the smallest K such that FRONT[K] NULL [2] Delete and process the front element in row K of QUEUE [3] Exit
  • 37. Insertion Algorithm [outline] [1] Insert ITEM as the rear element in row M of QUEUE [2] Exit