일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- C++
- react
- error
- OS
- 스프링
- 백준
- Operating System
- 타입스크립트
- CPU 스케줄링
- Spring
- Java
- memory
- 파이썬
- 공부
- 프로그래머스
- 분할메모리할당
- 토이프로젝트
- 알고리즘
- 자료구조
- 기초100제
- Redux
- react-redux
- 리덕스장바구니
- 일상
- 정렬
- 코드업
- 협업
- web
- js to ts
- codeup
- Today
- Total
목록Algorithm/정렬 (12)
감자튀김 공장🍟
선택 정렬 배열에서 최소값을 발견한 다음, 이 최소값을 배열의 첫번째 요소와 교환한다. 다음에는 첫번째 요소를 제외한 나머지 요소들 중에서 가장 작은 값을 선택하고 이를 두번째 요소와 교환한다. 이 절차를 (개수 - 1)만큼 되풀이한다. 선택 정렬의 과정 구현 코드 #include using namespace std; void swap(int& a, int& b) { int tmp; tmp = a; a = b; b = tmp; } void SelectionSort(int* arr, int len) { int min_idx; for (int i = 0; i < len - 1; i++) { min_idx = i; for (int j = i + 1; j < len; j++) { if (arr[min_idx] ..
힙(Heap) 히프는 완전이진트리 기반 자료구조이다. 여러 개의 값들 중에서 가장 큰 값이나 가장 작은 값을 빠르게 찾아내도록 만들어진 자료구조이다. 부모 노드의 키 값이 자식 노드의 키 값보다 항상 큰 이진트리를 뜻한다. key(부모노드) ≥ key(자식노드) 조건을 항상 성립한다. 노드의 인덱스 배열로 구현 시 0번째 인덱스가 아니라 1번째 인덱스에서부터 시작된다. 왼쪽 자식의 인덱스 = (부모의 인덱스) * 2 오른쪽 자식의 인덱스 = (부모의 인덱스) * 2 + 1 부모의 인덱스 = (자식의 인덱스) / 2 힙 트리 힙 트리는 중복된 값을 허용한다. 완전 이진 트리가 아니기 때문에 힙 트리는 아니다. 힙 종류 최대 힙(max heap) 부모 노드의 키값이 자식 노드의 키값보다 크거나 같은 완전 이..