queue & its applications

63,157 views 24 slides Oct 28, 2016
Slide 1
Slide 1 of 24
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24

About This Presentation

queue data structure.


Slide Content

QUEUE Presented by Somendra Kumar CS-2

Contents Introduction Operations on queue Array representation of queues Linked representation of queues Types of queues Circular queues Deques Priority queues Application of queues References

DATA STRUCTURE A data structure is a particular way of organizing data in a computer so that it can be used efficiently. Different kind of data structure suits for the different kind of applications.

Data Structure L inear Array Linked list Stack Queue Primitive DS Non-Primitive DS Non Linear Tree Graph Types of data structure Integer Float Char Pointers

QUEUE Queue is a linear data structure. It is used for temporary storage of data values. A new element is added at one end called rear end. The existing elements deleted from the other end called front end . First-in-First-out property. 34 12 53 61 9 23 42 front rear

Operations on Queue 1.Insertion : Placing an item in a queue is called “insertion or enqueue ” , which is done at the end of the queue called “rear”. Front Rear

2.Deletion : Removing an item from a queue is called “deletion or dequeue ” , which is done at the other end of the queue called “front”. Front Rear

Array Representation of Queues 12 9 7 18 12 9 7 18 14 A[0] A[1] A[2] A[3] A[4] QUEUE front rear front rear Queue after insertion of a new element 9 7 18 14 front rear Queue after deletion of an element

Algorithm to insert an element in queue STEP-1 IF REAR= MAX-1 write OVERFLOW go to step 4 [end of if] STEP-2 if REAR = -1 set FRONT=REAR= 0 else set REAR = REAR+1 STEP-3 set QUEUE [ REAR ] = NUM STEP-4 EXIT INITIALLY REAR = -1 FRONT =-1

Algorithm to delete an element from queue STEP-1 If FRONT = -1 or FRONT > REAR write UNDERFLOW Else set VAL = QUEUE [ FRONT ] set FRONT = FRONT + 1 [end of if] STEP-2 EXIT

Linked Representation of Queues 9 300 7 350 4 360 2 N 290 Front 300 350 360 rear Linked queue 9 300 7 350 4 360 2 380 290 front 300 350 360 380 rear 5 N Linked queue after inserting a node 7 350 4 360 2 380 380 rear 5 N 300 front 350 360 Linked queue after deleting a node Front = 290 Rear = 360

Algorithm to insert an element in queue using linked list STEP-1 Allocate memory for the new node & name it as TEMP. STEP-2 set TEMP data = NUM set TEMP link = NULL STEP-3 If FRONT = NULL FRONT = REAR = TEMP Else REAR link = TEMP REAR = TEMP [ end of if] STEP-4 EXIT INITIALLY FRONT=NULL REAR=NULL

Algorithm to delete an element from queue STEP-1 If FRONT = NULL write underflow go to step 3. [end of if] STEP-2 set TEMP = FRONT FRONT = FRONT link if FRONT = NULL REAR = NULL STEP-3 EXIT

Types of Queues 1. Deque 2. Circular Queue 3. Priority Queue

DEQUES 1.Deque stands for double ended queue . 2.Elements can be inserted or deleted at either end. 3. Also known as head-tail linked list . 34 12 53 61 9 insertion deletion deletion insertion front rear

Types Of Deque 1.Input restricted deque : 34 12 53 61 9 deletion deletion insertion front rear 2. Output restricted deque : 34 12 53 61 9 insertion deletion insertion front rear

CIRCULAR QUEUES Circular queue are used to remove the drawback of simple queue. Both the front and the rear pointers wrap around to the beginning of the array. It is also called as “ Ring buffer ”.

Algorithm to insert an element in queue STEP-1 If FRONT = (REAR+1)%MAX write OVERFLOW go to step 4 [end of if] STEP-2 If FRONT = -1 REAR = FRONT = 0 Else REAR = (REAR +1)%MAX [ end of if ] STEP-3 CQ[REAR] = NUM STEP-4 EXIT INITIALLY FRONT= -1 REAR= 0

Algorithm to delete an element from queue STEP-1 If FRONT = -1 write UNDERFLOW go to step 3 [ end of if ] STEP-2 If FRONT = REAR FRONT = REAR= -1 Else FRONT = (FRONT +1)%MAX STEP-3 EXIT

PRIORITY QUEUE 1.It is collection of elements where elements are stored according to the their priority levels. 2.Inserting and removing of elements from queue is decided by the priority of the elements. 3. An element of the higher priority is processed first. 4.Two element of same priority are processed on first-come-first-served basis.

Example: Suppose you have a few assignment from different subjects. Which assignment will you want to do first? subjects Due date priority DSGT 15 OCT 4 DLD 6 OCT 2 CYB 4 OCT 1 DS 8 OCT 3

APPLICATIONS Real world applications Cashier line in any store. Waiting on hold for tech support. people on an escalator. Checkout at any book store .

Applications related to computer science: 1.When data is transferred asynchronously between two processes. eg . IO Buffers. 2.When a resource is shared among multiple consumers. Examples include CPU scheduling, Disk Scheduling. 3.In recognizing palindrome. 4.In shared resources management. 5.Keyboard buffer. 6.Round robin scheduling. 7.Job scheduling. 8.Simulation

THANK YOU
Tags