더북(TheBook)

5.2.1 큐 구현 1: 동적 배열을 단순하게 사용해서 구현하기

이전 절에서 스택을 동적 배열로 구현한 적이 있으니 리스트는 내부 표현으로 다음과 같이 구현해 볼 수 있습니다.

코드 5-3 queue.py

class Queue:
    def __init__(self):
        self.container = list()

    def empty(self):
        if not self.container:
            return True
        else:
            return False

    def enqueue(self, data):
        self.container.append(data)

    def dequeue(self):
        # 동적 배열의 맨 처음 데이터를 삭제하므로 빅오는 O(n)
        # 좀 더 효율적으로 구현할 수는 없을까?
        return self.container.pop(0)

    def peek(self):
        return self.container[0]

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.