본문 바로가기

자료구조 (Data Structures)/스택과 큐, Stack and Queue

[Stack and Queue] 큐, Queue

https://github.com/cuttingworms/Data-Structures-with-Python

 

GitHub - cuttingworms/Data-Structures-with-Python

Contribute to cuttingworms/Data-Structures-with-Python development by creating an account on GitHub.

github.com

-  큐 (Queue)

  • 한 쪽에서는 삽입만, 다른 한 쪽에서는 삭제만이 이뤄지는 자료구조
  • 선입선출(First-In First-Out, FIFO) 원칙 하에 삽입과 삭제 수행

 

- 연산

  • 데이터 삽입 : Enqueue
  • 데이터 삭제 : Dequeue
  • 데이터 읽기 : Front

 

- 수행 시간

  • 파이썬 리스트로 구현한 큐의 삽입과 삭제는 각각 O(1) 소요
  • 파이썬 리스트의 크기를 확대 또는 축소 시키는 경우에 큐의 모든 항목을 새 리스트로 복사해야 하므로 O(n) 소요
  • 단순 연결 리스트로 구현한 큐의 삽입과 삭제 연산은 각각 O(1) 소요

 

- 응용

  • Tast scheduler
  • 프린터 대기열
  • 이벤트 처리