Algorithm - Heap
·
C++ 프로그래머스/Heap
힙(Heap)이란?주어진 데이터들 중에서 특정 기준에 적합한 '최댓값' 혹은 '최솟값'을 빠르게 찾는완전이진트리 를 기반으로 한 자료구조이다이를 사용하여 우선순위큐(Priority Queue)를 구현가능하다 특징시간복잡도 : 최소 , 평균 , 최악 시간 복잡도 전부 0(N * LogN)이유 : 새로운 데이터의 삽입은 O(1)이 걸림 그다음 부모의 노드와 비교하여 새 데이터가 부모보다 크다면둘의자리를 바꿈, 이 과정을 자신보다 큰 부모를 만날떄까지 반복 힙은 데이터 N개의 비해 높이가 로그N인완전 이진트리를 유지 함, 그래서 최악의 경우인경우도 비교의 교환 과정은 트리의 높이만큼만 일어남간단하게 설명해서 힙의 높이가 로그N에 가까운 이유는 트리의 레벨이 하나 깊어질떄마다저장 가능한 노드의 수가 두배씩 늘어..