큐(Queue)는 자료 구조의 하나로, 리스트, 배열, 스택과 마찬가지로 데이터를 1열로 나열한 구조입니다. 스택과 비슷하지만 큐는 추가하는 측과 삭제하는 측이 반대입니다. 큐는 '대기 행렬'이라고 불립니다. 명칭처럼 줄 서 있는 행렬을 생각하면 이해하기 쉽습니다. 행렬에서는 새롭게 온 사람이 가장 뒤에 서며, 가장 앞에 있는 사람부터 순서대로 처리됩니다. - 책 알고리즘 도감
큐에 데이터를 추가하는 작업을 '인큐(enqueue)'라고 합니다.
큐에서 데이터를 꺼내는 작업을 '디큐(dequeue)'라고 합니다.
큐와 같이 먼저 넣은 것을 먼저 꺼내는 선입선출 구조를 'First In First Out'이라고 하며, 앞글자만 따서 'FIFO'라고도 합니다.
스택과 마찬가지로 데이터를 조작할 수 있는 위치가 정해져 있습니다. 스택에서는 추가와 삭제를 같은 쪽에서 하지만, 큐에서는 추가하는 쪽과 삭제하는 쪽이 반대입니다. 스택과 마찬가지로 중간에 있는 데이터에 곧바로 접근할 수 없으며, 필요한 데이터가 나올 때까지 디큐를 해야 합니다.
참고 - 책 알고리즘 도감
'자료구조와 알고리즘 > 기초' 카테고리의 다른 글
[자료 구조] 힙 (0) | 2019.07.31 |
---|---|
[자료 구조] 해시 테이블 (0) | 2019.07.30 |
[자료 구조] 스택 (0) | 2019.07.29 |
[자료 구조] 배열 (0) | 2019.07.29 |
[자료 구조] 리스트 (0) | 2019.07.29 |