본문 바로가기

프로그래밍/기본기ㆍ자료구조

Queue (큐)

728x90
반응형

 

개념

- 사전적 의미로 '대기열', '줄을 서서 기다리다'

- FIFO (한쪽의 끝에서 삽입되고 다른 끝에서 제거되는 선입선출 구조)

- 스택이 게임에서 뒤로가기 처리를 위해 사용된다면, 큐는 무언가의 대기열을 구현하는데 사용

(프린터, 은행대기창구 등을 생각하면 알기 쉬움)

- 선형 자료구조

*큐 구현에 대한 이야기

동기식 WEB 통신을 생각해보자, 서버에게 동시에 여러 정보를 요청하려고 한다.

비동기가 아니라면 요청하려는 정보들은 순차적으로 처리가 되어야 한다.

그럼 순차적으로 처리하기 위해서는 어떻게 해야하는가?

서버에 요청하려는 정보들을 큐에 담고 하나씩 하나씩 처리하면 된다.

예를들어 서버에 요청할 정보 A,B,C,D가 있다고 가정하고 A부터 순서대로 D까지 정보를 요청하려고 한다.

큐에 해당 순서대로 정보를 담음

-> A -> B,A -> C,B,A -> D,C,B,A

큐에해서 순서대로 정보를 뽑아내어 서버에게 요청함

D,C,B,A -> D,C,B -> C,D -> C ->

한쪽 끝에서 삽입하고, 다른 한쪽 끝에서 제거되는 선입선출의 구조에 의해 먼저 삽입한 A가 데이터의 끝에 위치하고

사용될 때 A부터 B,C,D 순으로 사용된다.

 

 

 

참고 출처

 

자료구조) 큐(Queue)

큐(Queue) 큐는 스택과는 다르게 (FIFO - First in First Out) 선입선출 구조이다. 가장 처음 입력된 데이터 위치를 'Front' 가장 마지막(최근에) 입력된 데이터 위치를 'Rear' 큐에서 데이터 삽입 'Insert' 큐에..

drehzr.tistory.com

 

리스트의 한쪽 끝에서만 삽입과 삭제가 일어나는 스택과는 달리 리스트의 한쪽 끝에서는 원소들이 삭제되고 반대쪽 끝에서는 원소들의 삽입만 가능하게 만든 순서화된 리스트. 가장 먼저 리스트에 삽입된 원소가 가장 먼저 삭제되므로 선입 선출(先入先出)인 FIFO(first in first out) 리스트라고 한다.

terms.naver.com

 

 

다람쥐와 포동포동이

참고자료

 

반응형

'프로그래밍 > 기본기ㆍ자료구조' 카테고리의 다른 글

Abstract (추상)  (0) 2020.04.10
Virtual (가상 메소드)  (0) 2020.04.10
Array와 ArrayList의 차이  (0) 2020.04.09
ArrayList (배열리스트)  (0) 2020.04.09
List (리스트)  (0) 2020.04.09