큐(Queue)는 선형 자료구조로, 데이터를 저장하고 검색하는 데 사용되는 중요한 자료구조입니다. 큐는 데이터를 저장할 때 "선입선출" (FIFO, First-In-First-Out) 원칙을 따릅니다. 즉, 먼저 큐에 추가된 데이터는 먼저 처리되고 제거됩니다.
[큐 용어]
선형 큐 (Linear Queue): 데이터를 FIFO 순서로 처리하는 가장 기본적인 큐
환형 큐 (Circular Queue): 큐의 마지막 요소가 첫 요소와 연결된 큐로, 원형으로 순환
우선순위 큐 (Priority Queue): 각 데이터 요소에 우선순위를 할당하고 해당 우선순위에 따라 데이터를 처리하는 큐
데큐(De Queue) : 양쪽에서 삽입, 삭제가 가능한 구조
특성 | 큐 (Queue) | 스택 (Stack) |
---|---|---|
처리 방식 | 선입선출 (FIFO, First-In-First-Out) | 후입선출 (LIFO, Last-In-First-Out) |
데이터 추가 | 리어(Rear)에서 추가 (Enqueue) | 탑(Top)에서 추가 (Push) |
데이터 제거 | 프런트(Front)에서 제거 (Dequeue) | 탑(Top)에서 제거 (Pop) |
데이터 확인 (Peek) | 프런트(Front)에서 확인 (Peek) | 탑(Top)에서 확인 (Peek) |
주요 용도 | 작업 대기열 관리, 너비 우선 탐색 | 함수 호출 및 재귀, 깊이 우선 탐색 |
구현 방식 | 연결 리스트 또는 배열 사용 | 연결 리스트 또는 배열 사용 |
예시 | 일반 큐, 우선순위 큐, 환형 큐 | 일반 스택 |
Q1. 큐에서 element를 삽입할 경우의 설명으로 맞는 것은?
① front의 위치를 감소시킨 후 element를 삽입
② front의 위치를 증가시킨 후 element를 삽입
③ rear의 위치를 감소시킨 후 element를 삽입
④ rear의 위치를 증가시킨 후 element를 삽입
Q2. 파이프의 입구와 출구를 연결시킨 형태의 큐로 기억장소의 낭비를 줄이기 위한 자료구조는 무엇인가?
① 연결 큐
② 이중 큐
③ 원형 큐
④ 데 큐