일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 19238
- boj 2108
- 백준 2636
- 백준 2470
- boj 2636
- 백준 2635
- boj 2470
- 백준 1806
- boj 2635
- 백준 2178
- boj 2667
- 백준 2661
- 백준 2206
- 2167
- boj 2206
- 백준 2108
- 2636
- 백준 2167
- boj 1697
- boj 1503
- boj 2178
- 백준 1503
- 백준 1697
- boj 19238
- 10800
- boj 1806
- 백준 10800
- boj 2661
- boj 2167
- boj 10800
- Today
- Total
목록알고리즘/개념 (3)
말랑말랑한 개발자 이야기
[코테를 위한 압축 개념] C++ STL 맵(map), 셋(set) Map Map은 연관 컨테이너로 원소를 key와 value의 쌍으로 저장한다. 연관 컨테이너는 균형 이진 트리를 이용하여 O(logN)의 시간복잡도로 원하는 원소를 빠르게 찾을 수 있다. #include #include using namespace std; int main(){ map temp; return 0; } 위와 같이 선언하여 사용할 수 있다. Map의 사용법 원소 쌍 추가하기 #include #include using namespace std; int main(){ map temp; temp.insert({1, "hello"}); temp.insert(make_pair(2, "world")); temp[3] = "map"; c..
[코테를 위한 압축 개념] C++ STL 힙(Heap), 우선순위 큐(Priority queue) Heap Heap(힙)은 이진 트리 자료구조이다. 사진으로 보면 이해가 빠르다. - index 0은 최상단 노드임을 의미한다. - i 번째 노드의 자식 노드는 i * 2 + 1 번째 노드와 i * 2 + 2 번째 노드가 된다. - i 번째 노드의 부모 노드는 (i - 1) / 2 번째 노드가 된다. - 부모노드는 항상 자식 노드보다 작거나 같다. / 크거나 같다. 위 사진에서 트리 구조를 살펴보면 부모노드는 자식노드 보다 작은 규칙이 있다. 이러한 구조를 Min Heap이라고 한다. Heap은 두가지의 경우로 나뉘는데 위 사진과 반대로 부모가 자식보다 항상 큰 규칙을 가지면 Max Heap이 된다. 이러한 ..
[코테를 위한 압축 개념] C++ STL 벡터(vector), 큐(queue), 스택(stack), 덱(deque) Vector C언어에서 사용하는 Array와 비슷한 기능을 하지만 훨씬 유용하게 쓰일 수 있습니다. #include #include using namespace std; int main(){ vector temp; return 0; } 위와 같이 vector를 include해주어야 하고, vector name 의 형식으로 벡터를 만들 수 있습니다. Vector의 사용법 push_back() #include #include using namespace std; int main() { vector temp; temp.push_back(1); temp.push_back(2); temp.push_..