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. 큐가 자주 쓰이는 곳

- 멀티 태스킹 위한 프로세스 스케쥴링 방식을 구현하기 위해 자주 쓰임

 

** 패스트캠퍼스의 '알고리즘/기술면접 완전 정복 올인원 패키지' 강의를 듣고 작성한 글입니다