
오류에 대한 지적이나 질문, 토의 환영합니다. 자유롭게 댓글 남겨주세요!.!

size(): 현재 큐에 들어있는 데이터 원소 개수를 반환합니다.
isEmpty(): 현재 큐가 비어있는지를 판단합니다.
비어있으면 True를, 비어있지 않으면 False를 반환합니다.
enqueue(x): 큐에 데이터 x를 추가합니다.
dequeue(): 큐의 맨 앞에 저장된 데이터 원소를 제거하며, 반환합니다.
peek(): 큐의 맨 앞에 저장된 데이터 원소를 반환합니다.
<참고> 배열로 구현한 큐 연산의 시간 복잡도
| 연산 | 복잡도 | 
|---|---|
| size() | |
| isEmpty() | |
| enqueue() | |
| dequeue() | |
| peek() | 
class ArrayQueue:
    def __init__(self):
        self.data = []
    def size(self):
        return self.len(self.data)
    def isEmpty(self):
        return self.size() == 0
    def enqueue(self, item):
        self.data.append(item)
    def dequeue(self):
        return self.data.pop(0)
    def peek(self):
        return self.data[0]
from doublylinkedlist import Node
from doublylinkedlist import DoublyLinkedList
class LinkedListQueue:
    def __init__(self):
        self.data = DoublyLinkedList()
    def size(self):
        return self.data.nodeCount
    def isEmpty(self):
        return self.data.nodeCount == 0
    def enqueue(self, item):
        node = Node(item)
        self.data.insertAt(self.data.nodeCount+1, node)
    def dequeue(self):
        return self.data.popAt(1)
    def peek(self):
        return self.data.getAt(1).data

이 글은 프로그래머스 스쿨 인공지능 데브코스 과정에서 공부한 내용을 바탕으로 정리한 글입니다.