Skip to content

Queue #
Find similar titles

Structured data

Category
Computer science

큐란? #

  • 큐(queue)는 자료 구조 형식 중 하나로 먼저 입력된 데이터가 먼저 나오는 FIFO(First In First Out)의 구조로 저장하는 형식을 말한다.

  • 큐의 종류는 선형 큐, 원형 큐, 우선순위 큐 등이 존재한다.

  • 큐의 기능

  • enQueue : 큐에 데이터를 삽입한다. 리스트의 맨 뒤에 삽입
  • deQueue : 큐에서 데이터를 제거한다. 리스트의 맨 앞의 데이터를 제거
  • isEmpty : 큐가 비었는지 확인한다.
  • isFull : 큐가 꽉 찼는지 확인한다.
  • peek : 큐의 맨 앞의 데이터를 제거하지 않고 확인한다.

선형 큐 #

  • 선형 큐는 보통 사람들이 알고 사용하는 큐로 말 그대로 선형으로 된 큐이다.

  • 파이썬으로 선형 큐를 사용하면 다음과 같이 사용할 수 있다.

  • 파이썬에서 선형 큐는 리스트를 이용하여 구현 및 사용을 할 수 있다.

    queue = [] # Queue 생성
    queue.append(3) # enQueue
    queue.append(5) # enQueue
    queue.append(4) # enQueue
    
    queue.pop(0) # deQueue
    queue.pop(0) # deQueue
    
    if queue: # 큐에 데이터가 존재할 시, isEmpty
        pass
    else:     # 큐에 데이터가 존재하지 않을 시
        pass
    
    queue[0] # peek
    

#

  • 덱(deque)은 Queue가 응용된 형태로 큐와 스택의 기능을 모두 가진 자료 구조이다.
  • 덱은 앞, 뒤로 모두 입력 및 삭제가 가능한 구조로 되어 있다.

  • 파이썬에서 덱을 사용하려면 다음과 같이 사용할 수 있다.

    from collections import deque
    dq = deque()
    dq.append(3) # queue에서의 입력 : [3]
    dq.append(5) # queue에서의 입력 : [3, 5]
    dq.append(4) # queue에서의 입력 : [3, 5, 4]
    dq.pop() # stack에서의 삭제 : [3, 5]
    
    dq.appendleft(9) # stack에서의 입력 : [9, 3, 5]
    dq.appendleft(8) # stack에서의 입력 : [8, 9, 3, 5]
    dq.popleft() # queue에서의 삭제 : [9, 3, 5]
    
    dq[0] # queue에서의 peek : 9 출력
    dq[-1] # stack에서의 top  : 5 출력
    
    if dq: # 덱에 데이터가 존재할 시
        pass
    else:     # 덱에 데이터가 존재하지 않을 시
        pass
    

Incoming Links #

Related Data Sciences #

Suggested Pages #

0.0.1_20140628_0