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. 큐가 자주 쓰이는 곳
- 멀티 태스킹 위한 프로세스 스케쥴링 방식을 구현하기 위해 자주 쓰임
** 패스트캠퍼스의 '알고리즘/기술면접 완전 정복 올인원 패키지' 강의를 듣고 작성한 글입니다
'TIL > Data Structures and Algorithms' 카테고리의 다른 글
(자료구조) 배열 (0) | 2022.04.08 |
---|---|
(자료구조) 스택 (0) | 2021.02.04 |
(알고리즘) 최단경로 알고리즘 - 다익스트라 알고리즘 (0) | 2021.01.29 |
(알고리즘) 탐욕 알고리즘 (0) | 2021.01.28 |
(알고리즘) 깊이우선탐색 (DFS) (0) | 2021.01.28 |