heap(2)
-
[자료구조] MAXHEAP: 최대힙
Heap 간단설명 자료구조 Heap은 이진트리로, 삽입/삭제할 때 모두 O(logn)이 걸린다. Heap은 Priority Queue를 도입한 자료구조로, 여러 데이터가 주어질 때, 최댓값과 최솟값을 빠르게 찾고 싶을 때사용한다. Binary Search Tree와 다르게 Heap은 중복값을 허용하는 것을 기억해두자. Heap은 기본적으로 배열로 나타낼 수 있다. priority queue 관련된 라이브러리를 활용해서 나타낼 수 있다. 배열로 표현할 때 인덱스 번호로 노드를 비교할 것이기 때문에 heap으로 구현한 배열에서 인덱스 0은 안 쓴다! 부모노드 INDEX = 자식노드 INDEX / 2 왼쪽자식노드 INDEX = 부모노드 INDEX * 2 오른쪽자식노드 INDEX = 부모노드 INDEX * 2 ..
2020.06.02 -
[백준 11279번] 최대 힙
https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이� www.acmicpc.net heap 자료구조를 이해하고 maxheap을 위한 insertion과 deletion을 구현하였다. #include #include #include using namespace std; #define MAX_LEN 100001 int heap[MAX_LEN]; int answer[MAX_LEN]; int hidx = 0; int aidx = 0; void insertNode(i..
2020.05.28