Queues

FIFO Concept, first in is the first out

Time Complexity of a Queue

Operation Running Time (Average) Running Time (Worst)
Access O (n) O (n)
Search O (n) O (n)
Insertion O (1) O (1)
Deletion O (1) O (1)

Regular Array Implmentation:

Circular Array Implmentation:

inserting an Image inserting an Image inserting an Image inserting an Image inserting an Image inserting an Image inserting an Image inserting an Image inserting an Image inserting an Image inserting an Image inserting an Image

Deque Data Structure:

Let’s add a Deque Data Structure


class Deque:
    def __init__(self):
        self.items = []

    def isEmpty(self):
        return self.items == []

    def addFront(self, item):
        self.items.append(item)

    def addRear(self, item):
        """ add to rear"""
        self.items.insert(0,item)

    def removeFront(self):
        return self.items.pop()

    def removeRear(self):
        return self.items.pop(0)

    def size(self):
        return len(self.items)
    
    def _print(self):
        '''print Deque Values'''
        return self.items