알고리즘/코테
[코테] java 우선순위큐
기주그지마
2024. 9. 20. 23:49
우선순위큐:
우선순위가 존재하는 큐.
기본적으로 큐는 선입선출형태로 나가지만, 우선순위큐는 우선순위가 높은 순서대로 나가게 된다.
우선순위큐를 쓰는이유:
자동 정렬되므로, 최소값, 최대값을 쉽게 관리할 수 있다.
여러 이벤트 중에서 우선순위가 높은 이벤트를 먼저 처리해야 할 때 사용된다
- 예시: 프로세스 스케줄링에서 우선순위가 높은 작업을 먼저 처리하는 경우.
우선순위 큐를 다루는 메서드
PriorityQueue<Integer> pq = new PriorityQueue<>(); // 선언방식1 (오름차순 기본값.)
PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder()); //(내림차순으로 선언)
pq.add(); // 값 삽입
pq.offer(); // 값 삽입. 성공시 true반환 실패시 false반환
pq.poll(); // 맨앞(우선순위 가장높은거 제거)반환하고 제거.
pq.peek(); // 맨앞 반환
pq.size(); // 크기반환
pq.isEmpty(); // 큐가 비어있는지 확인
pq.clear(); // 큐안의 값 모두제거