우선순위 큐(Priority Queue)

하도야지·2021년 6월 15일
0

Java

목록 보기
2/3
post-thumbnail

우선순위 큐(Priority Queue)란?

  • 큐: 데이터를 일시적으로 쌓아두기 위한 자료구조로 스택과는 다르게 FIFO(First In First Out)의 구조, 먼저 들어온 데이터가 먼저 나가는 구조임
  • PriorityQueue: 먼저 들어온 순서대로 데이터가 나가는 것이 아닌 우선순위를 먼저 결정하고 그 우선순위가 높은 엘리먼트가 먼저 나가는 자료구조
    -> 우선순위 큐는 힙을 이용하여 구현함.

Priority Queue 선언

//priorityQueue 선언 (오름차순)
PriorityQueue<Integer> priorityQueue = new PriorityQueue<>();

//priorityQueue 선언 (내림차순)
PriorityQueue<Integer> priorityQueue = new PriorityQueue<>(Collections.reverseOrder());

Priority Queue 값추가 및 우선순위 높은값 출력

// 값 추가
priorityQueue.add(n);     
또는
priorityQueue.offer(n);   

// 우선순위 높은 값 출력
priorityQueue.peek();

Priority Queue 값삭제

 // 첫번째 값을 반환하고 제거 비어있다면 null
priorityQueue.poll();      

// priorityQueue에 첫번째 값 제거
priorityQueue.remove();     

// priorityQueue에 초기화
priorityQueue.clear();      
profile
프로그래머를 꿈꾸는 코더

0개의 댓글