Jun's Development Journey
[Tip_Java] Priority Queue 사용법 본문
1. Priority Queue란?
- 일반적인 큐는 FIFO(First In First Out)구조이지만, 우선순위 큐는 우선순위를 먼저 결정하고, 그 순위가 높은 순서대로 먼저 나가는 자료구조이다.
- 우선순위 큐는 일반적으로 힙으로 구현되어 있다.
- 데이터 삽입 시에는 우선순위를 기준으로 최대 혹은 최소 힙으로 구성되고, 데이터 삭제 시에는 빈 루트 자리에 맨 마지막 노드를 삽입한 후 아래로 내려가면서 맞는 자리를 찾아 저장하는 방식이다.
2. Priority Queue 사용법
2-1) 선언
- 우선순위 큐의 디폴트 정렬 방식은 우선순위가 낮은 것 기준으로 정렬된다. 높은 순으로 정렬을 하려면 선언시 매개변수에 Collections.reverseOrder() 메서드를 활용하면 된다.
- 정수형, 문자열 이외에 임의의 클래스를 원소로 사용하려면 Comparable<>를 상속받아 구현하면 된다.
2-2) 삽입 및 삭제
2-3) 출력
- 우선순위가 가장 높은 값을 참조하려면 peek()이라는 메소드를 사용하면 된다.
'Algorithm > Code Tip' 카테고리의 다른 글
[Tip_Java] 자바 배열 정렬(Arrays.sort(), Collections.sort()) (0) | 2021.04.14 |
---|---|
[Tip_Java] TreeMap 사용법 (0) | 2021.04.13 |
[Tip_Java] HashMap 사용법 (0) | 2021.04.13 |
[Tip_Java] TreeSet 사용법 (0) | 2021.04.13 |
[Tip_Java] HashSet 사용법 (0) | 2021.04.13 |