본문 바로가기

Legacy(~18.10)/컴퓨터공학

[Data Structure] Queue - 이론 && ADT

반응형

Queue


  • Queuerear로 item이 추가되고, front로 item이 삭제된다.

  • 이러한 특징을 First In, First Out - FIFO라고 한다.

  • 중간에 점프를 뛸 수 없고 front로 갈 때까지 순서대로 기다려야만 한다.

  • Queue의 예로 프린터에서 프린트 하는 것도 있고

  • OS에서 스케쥴링, 키보드 타이핑치는것 등등도 Queue의 예로 볼 수 있다.


class Queue:
   def __init__(self):
       '''
      리스트를 이용해서 큐를 초기화한다.
      '''
       self.queue = []

   def isEmpty(self):
       '''
      큐의 길이가 0인지를 확인한다.
      '''
       return len(self.queue) == 0

   def enqueue(self, item):
       '''
      큐의 rear에 item을 추가한다.
      '''
       self.queue.insert(0,item)

   def dequeue(self):
       '''
      큐의 front에서 item을 제거한다.
      '''
       return self.queue.pop()

   def size(self):
       '''
      큐의 길이를 반환한다.
      '''
       return len(self.queue)


반응형