Deque, or Double Ended Queue, is a generalized version of Queue data structure that allows insert and delete at both end