[Queue] - Queue의 개념

Donggu(oo)·2023년 1월 12일
0
post-thumbnail

1. Queue의 정의


  • Queue는 가장 먼저 진입한 데이터(data)가 가장 먼저 빠져나가는 자료구조이다.

2. Queue의 특징


1) FIFO(First In First Out)

  • 먼저 들어간 데이터가 제일 처음에 나오는 선입선출 구조를 가지고 있다.
ex1) 1, 2, 3, 4를 큐에 차례대로 넣는다.

						queue.enqueue(데이터)
출력 방향 <---------------------------< 입력 방향
				     1 <- 2 <- 3 <- 4
				<---------------------------<
들어간 순서대로, 1번이 제일 먼저 들어가고 4번이 마지막으로 들어가게 된다.

ex2) 큐가 빌 때까지 데이터를 전부 빼낸다.

						queue.dequeue(데이터)
출력 방향 <---------------------------< 입력 방향

				<---------------------------<
1, 2, 3, 4
제일 첫 번째 있는 데이터부터 차례대로 나오게 된다.

2) 데이터는 하나씩 넣고 뺄 수 있다.

  • Queue 자료구조는 데이터가 아무리 많이 있어도 하나씩 데이터를 넣고 뺀다. 즉, 한꺼번에 여러 개를 넣거나 뺄 수 없다.

3) 두 개의 입출력 방향을 가지고 있다.

  • Queue 자료구조는 데이터의 입력, 출력 방향이 다르다. 만약 입출력 방향이 같다면 Queue 자료구조라고 볼 수 없다.

3. Queue의 실사용 예제

  • 대표적으로 프린터가 여러 문서를 순서대로 인쇄를 해야 할 때 자료구조 Queue가 사용된다.
  1. 문서를 작성하고 출력 버튼을 누르면 해당 문서는 인쇄 작업 (임시 기억 장치의) Queue에 들어간다.
  2. 프린터는 인쇄 작업 Queue에 들어온 순서대로 인쇄한다.
  • 컴퓨터 장치 들 사이에서 데이터(data)를 주고받을 때, 각 장치 사이에 존재하는 속도의 차이나 시간 차이를 극복하기 위해 임시 기억 장치의 자료구조로 Queue를 사용한다. 이것을 통틀어 버퍼(buffer)라고 한다.

0개의 댓글