-
05. 큐(Queue)멋사 부트캠프/자료구조 2025. 5. 15. 09:15
1. 큐 구조
선입선출(FIFO)
처음에 들어온 것이 먼저 나가는 구조이다.
주로 우선순위대로 처리해주는 네트워크 패킷 처리, 이벤트 실시간 처리에 활용된다.
2. 큐의 구현
enqueue(item) 큐에 아이템을 뒤에 추가 dequeue() 큐에서 아이템을 앞에서 제거하고 반환 peek() 큐의 맨 앞 데이터를 확인 (삭제 X) isEmpty() 큐가 비어 있는지 확인 size() 큐의 길이 확인 enqueue → [ A, B, C ] → dequeue → [ B, C ]
import java.util.Queue; import java.util.LinkedList; public class QueueWithJava { public static void main(String[] args) { Queue<String> q = new LinkedList<>(); //enqueue q.add("A"); q.add("B"); q.add("C"); //dequeue while(!q.isEmpty()) { System.out.println(q.poll() + "제거(dequeue)"); } q.add("minsu"); q.add("mina"); System.out.println("first : " + q.peek() + "size : " + q.size()); } }
3. 우선 순위 큐
enqueue(일반환자, 우선:1)
enqueue(응급환자, 우선:5)
→ dequeue() → 응급환자 먼저 나감"가중치"를 두어 우선처리하도록 하는 특수 큐
4. 활용되는 알고리즘
BFS
'멋사 부트캠프 > 자료구조' 카테고리의 다른 글
07. 그래프(Graph) (0) 2025.05.15 04. Stack (2) 2025.05.04 03. 연결리스트 (1) 2025.04.17 02. Array 활용 (0) 2025.03.19 01. 자료구조 요약 정리 (0) 2025.03.19