일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Mask Processing
- clustering
- C++
- 그래프 이론
- sklearn
- classification
- 자료구조
- BFS
- SIFT
- MinHeap
- DP
- exists
- MySQL
- Python
- 인공지능
- dfs
- TD
- 백준
- canny edge detection
- image processing
- machine learning
- AlexNet
- Reinforcement Learning
- 딥러닝
- edge detection
- 머신러닝
- dynamic programming
- opencv
- 강화학습
- IN
- Today
- Total
목록MinHeap (3)
JINWOOJUNG
문제 접근법 https://jinwoo-jung.tistory.com/56 [ 정렬 - 24173 ] 알고리즘 수업 - 힙 정렬 1(C++) 문제 접근법 Heap Sort를 알기 전, Heap에 대해서 알아야 한다. Heap은 다음과 같은 특징을 가지고 있다. Degree = 2 Complete Binary Tree 부모노드와 자식 노드간의 상하관계 좌, 우의 상하관계가 아니라 Min, M jinwoo-jung.tistory.com 지난 힙 정렬 1에서 설명한 Heap과 해당 코드의 내용으로 접근법에 대한 설명한 생략한다. 이번 문제는 교환 횟수에 따라서, 해당 교환까지 진행한 전체 Tree의 정렬 상태를 출력하는 문제이다. 이전에 언급 한 것처럼, s32_N Index는 Sorting() 과정에서 줄어..
문제 접근법 Heap Sort를 알기 전, Heap에 대해서 알아야 한다. Heap은 다음과 같은 특징을 가지고 있다. Degree = 2 Complete Binary Tree 부모노드와 자식 노드간의 상하관계 좌, 우의 상하관계가 아니라 Min, Max Heap에 따른 부모와 자식간의 상하관계 Complete Binary Tree를 조금 더 살펴보면, 노드를 삽입 시 왼쪽부터 즉, 삭제 시 오른쪽 부터 삭제하는 Tree 구조이다. 따라서 수도코드를 살펴보면 일반적인 트리 구조와는 다른 모습을 보이고 있음을 확인할 수 있다. Min Heap임을 고려하여 해당 코드를 분석 해보자. void build_mean_heap(int32_t ars32_A[], int32_t s32_N) { int32_t s32_I..
접근법 최소 비교 횟수를 구하기 위해서는 입력받은 묶음의 크기를 정렬한 후 작은 2개의 묶음의 크기부터 더해나가서 계산할 수 있다. 따라서 양쪽으로 입출력이 가능한 deque 자료구조를 사용하여 구현하였다. from collections import deque N = int(input()) tmp = [] for i in range(N): tmp.append(int(input())) tmp.sort() queue = deque() for i in range(N): queue.append(tmp[i]) result = 0 for _ in range(1,N): a = queue.popleft() b = queue.popleft() result += a+b queue.appendleft(a+b) print(r..