반응형
양쪽 끝에서(
rear
,front
) 삽입, 삭제를 모두 수행할 수 있다.
Deque가 Stack과 Queue의 특징을 모두 취할 수 있어도 LIFO, FIFO 순서를 정하도록 요구하지는 않는다.
class Deque:
def __init__(self):
'''
데큐를 리스트로 초기화한다.
'''
self.deque = []
def isEmpty(self):
'''
데큐의 길이가 0인지를 확인한다.
'''
return len(self.deque) == 0
def addFront(self, item):
'''
데큐의 Front에 item을 추가한다.
'''
self.deque.append(item)
def addRear(self, item):
'''
데큐의 Rear에 item을 추가한다.
'''
self.deque.insert(0, item)
def removeFront(self):
'''
데큐의 Front에 있는 item을 제거한다.
'''
return self.deque.pop()
def removeRear(self):
'''
데큐의 Rear에 있는 item을 제거한다.
'''
return self.deque.pop(0)
def size(self):
'''
데큐의 길이를 반환한다.
'''
return len(self.deque)
반응형
'Legacy(~18.10) > 컴퓨터공학' 카테고리의 다른 글
[Data Structure] Tree - 기본 정의 및 용어 && Python 리스트로 트리 표현하기 (0) | 2018.09.12 |
---|---|
[Data Structure] Hashing - 이론 (0) | 2018.09.10 |
[Data Structure] Queue - 이론 && ADT (0) | 2018.09.10 |
[Data Structure] Stack - 이론 && ADT (0) | 2018.09.10 |
[자료구조 && 알고리즘] 버블정렬 (0) | 2018.07.15 |