반응형
'힙(Heap)'이라는 자료구조를 이용하여 푸는 문제입니다.
힙은 유명한 자료구조 중 하나라고 할 수 있죠. 유용합니다.
힙(Heap)은 다른 말로 '우선순위 큐(Priority_queue)'라고도 할 수 있습니다.
그 이유는 가장 높은 value, 즉 가치가 높으면 높을수록 먼저 pop되기 때문에 그런 것입니다. (물론 가치의 기준은 MAX일수도, min일수도 있습니다.)
여기서는 MAX Heap을 구현하고 해당 function들을 이용하여 잘 돌아가는지 살펴보는 문제입니다.
우리는 이 문제를 풀기 위해 직접 Heap을 구현하고 해당 function들을 만들어줄 수 있습니다.
하지만 이러한 구조를 Heap을 쓰는 문제를 만날 때마다 적어주기에는 매우 많은 시간이 걸릴 것입니다.
그렇기 때문에 우리의 최고의 친구 C++ STL을 사용한다면 한 번에 해결할 수 있죠.
(사실 직접 구현했다가 틀린 건 비ㅁ....)
앞서 말씀드렸다싶이 Heap은 다른 말로 'priority_queue'라고 할 수 있고 이미 같은 이름을 가진 Container가 존재합니다.
저희는 이를 이용하여 단순 선언과 함께 value들의 기준을 정해주기만 하면 됩니다.
그리고 조건에 맞게 출력해주면 끝나게 되죠.
반응형