TIL/Data Structures and Algorithms
(자료구조) 큐(QUEUE)
parksisi
2021. 2. 3. 21:47
1. 큐의 구조
- 극장에 줄 서 있는 사람들을 큐처럼 생각할 수 있다. 가장 먼저 줄 선 사람이 가장 먼저 극장에 들어가듯 큐 역시 첫 번째로 추가된 항목이 가장 먼저 제거된다. 이를 First In First Out, 즉 FIFO라 표현한다.
- 컴퓨터의 운영체제나 네트워크 구조에서도 많이 쓰이는 자료구조이다.
2. 큐 루비코드
class PrintManager
def initialize
@queue = []
end
def enqueue(data)
@queue.push(data)
end
def dequeue
while @queue.any?
# 루비의 시프트 메서드는 배열의 첫 번째 원소를 삭제 후 반환
data = @queue.shift
puts data
end
end
end
3. 큐가 자주 쓰이는 곳
- 멀티 태스킹 위한 프로세스 스케쥴링 방식을 구현하기 위해 자주 쓰임
** 패스트캠퍼스의 '알고리즘/기술면접 완전 정복 올인원 패키지' 강의를 듣고 작성한 글입니다