일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- db
- 리트코드
- vscode
- 안드로이드
- Graph
- 프로그래머스
- LeetCode
- Database
- 동적 계획법
- DFS
- Javascript
- 자바
- Data Structure
- Python
- 다이나믹 프로그래밍
- git
- network
- 알고리즘
- frontend
- 그레이들
- TypeScript
- DP
- 백준
- Redux
- java
- CS
- VIM
- BFS
- react
- Algorithm
Archives
- Today
- Total
늘 겸손하게
자료구조 - Heap 본문
자료구조 heap 은 완전 이진트리를 기반으로 하는 자료 구조입니다.
많은 값들 중에서 최소 혹은 최대 값을 빠르게 찾는것이 가능한 자료 구조입니다.
일반적으로 힙은 두 가지 타입이 존재합니다.
1. Max-Heap
Max-Heap의 루트 노드 값은 모든 자식 노드의 노드 값보다 커야 합니다. 이러한 속성은 모든 하위 트리도 만족해야 합니다.
2. Min-Heap
Min-Heap의 루트 노드 값은 모든 자식 노드의 노드 값보다 작아야 합니다. 이러한 속성은 모든 하위 트리도 만족해야 합니다.
왜 힙을 쓰나요?
최대값 및 최솟값을 찾아내는 작업의 시간복잡도는 O(logN)으로 매우 빠릅니다.
새로운 원소를 저장하고 정렬하는데의 시간복잡도 또한 O(logN)으로 매우 빠릅니다.
그러므로 많은 데이터를 빠르게 저장하고 원하는 데이터를 빠르게 읽고 늘 정렬된 상태로 저장해 두려할때 많이 쓰이는 자료구조입니다.
'Algorithm' 카테고리의 다른 글
기초 알고리즘 요약 (0) | 2022.05.13 |
---|---|
자료구조 - Priority Queue ( 우선순위 큐 ) (0) | 2022.02.09 |
Depth First Search for a Graph - 그래프 깊이-우선 탐색 (0) | 2021.10.01 |
Breadth First Search for a Graph - 그래프 넓이-우선탐색 (0) | 2021.09.30 |
Graph 이론에서 그래프 (0) | 2021.09.28 |