-
[코테] 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(); // 큐안의 값 모두제거
'알고리즘 > 코테' 카테고리의 다른 글
[코테] java-중복된 문자 제거하기 (0) 2024.10.28 [TIL] 아스키코드로 대소문자 변환하기 (0) 2024.10.25 [코테] 자료구조5 - HashMap, HashSet 사용하기 (0) 2024.10.05 [코테] 자료구조 - 덱 메서드 정리 (1) 2024.10.02 [코테] java 문자열(String / StringBuilder) 다루는 메서드 정리 (1) 2024.09.18