본문 바로가기
OLD_알고리즘

자료구조 ] Heap 자료구조

by 달승 2021. 3. 22.

 

 

Heap

"무엇인가를 차곡차곡 쌓아올린 더미"

"우선 순위 queue를 구현하는 자료구조"

"이진 트리이되 완전 이진 트리"

"모든 노드의 값은 자식 노드의 값 =< 부모 노드의 값"

 

 

 

 

우선 순위 queue STL

#include <queue>
#include <vector>
#include <iostream>
using namespace std;

template<typename T>
void print_queue(T q) { // NB: pass by value so the print uses a copy
    while(!q.empty()) {
        cout << q.top() << ' ';
        q.pop();
    }
    cout << '\n';
}
 
int main() {
    priority_queue<int> q;
 
    const auto data = {1,8,5,6,3,4,0,9,7,2};
 
    for(int n : data)
        q.push(n);
 
    print_queue(q);
    // 출력 결과 : 9 8 7 6 5 4 3 2 1 0 
 
    priority_queue<int, vector<int>, greater<int>>q2(data.begin(), data.end());
 
    print_queue(q2);
    // greater<int> 사용 & 출력 결과 : 0 1 2 3 4 5 6 7 8 9 
}
 

STL ] priority_queue

class priority_queue; A priority queue is a container adaptor that provides constant time lookup of the largest (by default) element, at the expense of logarit" data-og-host="en.cppreference.com" da..

dkanxmstmdgml.tistory.com

 

🌺문제

 |  프로그래머스

      Level 2 - 더 맵게

 

 


 

 

윤성우의 열혈 자료구조 - 교보문고

윤성우의『열혈 자료구조』는 자료구조에 대한 기본을 배울 수 있는 개론서이다. 400여 개의 그림을 곁들여 친절하게 설명하였으며, 완성된 예제를 제공하여 학습의 편의를 도모하였다. 더불어

www.kyobobook.co.kr

 

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

완탐中 ] 순열과 조합  (0) 2021.04.16
Solving Skill ] 최단 경로  (0) 2021.03.22
Solving Skill ] 다이나믹 프로그래밍(DP)  (0) 2021.03.16
Solving Skill ] 이진 탐색  (0) 2021.03.10
Solving Skill ] 정렬  (0) 2021.03.10

댓글