최코딩의 개발
열 두번째, Priority Queue(우선순위 큐) 본문
728x90
개요: 필자가 코테를 풀면서 알게된 새로운 메소드
구글링 참고함!!
Priority Queue
이것은 우선순위 큐로써 일반적인 큐의 구조 FIFO를 가지면서 이것과 동시에 우선순위를 결정하고
우선순위가 높은 데이터가 먼저 나가는 자료구조이다.
특징
1. 높은 우선순위의 요소를 먼저 꺼내서 처리하는 구조이다.
2. 내부요소는 힙으로 구성되어 있다.
3. 이진트리 구조로 이루어져 있다.
4. 우선순위를 중요시해야 하는 상황에서 주로 쓰인다.
코딩을 통해 예시를 알아보자
package study9list;
import java.util.PriorityQueue;
public class Test2 {
public static void main(String[] args) {
PriorityQueue<Integer> pq=new PriorityQueue<>();
pq.add(1);
pq.add(3);
pq.add(2);
pq.add(4);
//1 3 2 4
for(int i=0; i<4; i++){
System.out.println(pq.remove());
//1 2 3 4
}
}
}
package study9list;
import java.util.Collections;
import java.util.PriorityQueue;
public class Test2 {
public static void main(String[] args) {
PriorityQueue<Integer> pq=new PriorityQueue<>(Collections.reverseOrder());
pq.add(1);
pq.add(3);
pq.add(2);
pq.add(4);
//1 3 2 4
for(int i=0; i<4; i++){
System.out.println(pq.remove());
//4 3 2 1
}
}
}
느낀점: 우선순위 큐의 활용법을 아니깐 실전에서 이거를 많이 활용해야겠다. 그리고 트리의 개념을 다 까먹어서
공부 좀 해야겠다... 아직 추가할 내용이 많음,,
참고
https://coding-factory.tistory.com/603
728x90
'JAVA' 카테고리의 다른 글
열 네번째, 상속에 관해 (0) | 2023.05.31 |
---|---|
열 세번째, static에 관해 (0) | 2023.03.30 |
열 한번째, List 인터페이스 정리 (2) | 2023.03.02 |
열번 째, Map 메서드 정리 (0) | 2023.02.09 |
아홉번 째, split() 이란? (0) | 2023.01.25 |