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:
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