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 순으로 사용된다.
참고 출처
참고자료
반응형
'프로그래밍 > 기본기ㆍ자료구조' 카테고리의 다른 글
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 |