리셋 되지 말자

[우선순위 큐(Heap)] c++ 본문

알고리즘

[우선순위 큐(Heap)] c++

kyeongjun-dev 2020. 6. 14. 19:06

기본 형태

  • priority_queue<T, Container, Compare>

연산

  • push(원소) : 우선순위 큐에 원소 추가
  • pop() : 우선순위 큐에서 top의 원소를 삭제

top 확인

  • top() : top에 있는 원소를 반환

기타

  • empty() : 우선순위 큐가 비어있으면 true, 아니면 false를 반환
  • size() : 우선순위 큐의 원소의 갯수를 반환

Max Heap

priority_queue<int, vector<int>, less<int>> pq;
  • 비교함수가 less이면 top에 최댓값이 온다

Min Heap

priority_queue<int, vector<int>, greater<int>> pq;
  • 비교함수가 greater이면 top에 최솟값이 온다

우선순위 큐의 pair

priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> pq;
  • pair로 우선순위 큐를 구현할 때, 첫 번째 값으로 비교를하고 첫 번째 값이 크면 자동으로 두 번째 값으로 비교를 하여 Heap을 구성한다.
  • 연습문제 : 백준 20352029번

'알고리즘' 카테고리의 다른 글

[백준] 11724  (0) 2020.08.27
pair 구성요소를 같은 vector 정렬하기  (0) 2020.08.14
[백준 1654] 랜선 자르기  (0) 2020.06.09
[c++] stoi  (0) 2020.05.21
[c++] to_string (int를 string으로 변경하는 함수)  (0) 2020.05.21
Comments