일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스마트포인터
- 델리게이트
- 알고리즘
- stl
- UELOG
- dataasset
- 데이터애셋
- C++최적화
- BFS
- 정렬알고리즘
- 정렬
- unorder_map
- 언리얼가비지컬렉터
- 프로그래머스
- UML관련
- 람다
- 언리얼엔진구조체
- 람다사용정렬
- 약참조
- UE_LOG
- 강참조
- map
- 크리티컬섹션
- UE4 커스텀로그
- moreeffectiveC++
- enumasByue
- 애셋로드
- 자료구조
- 선택정렬
- C++
- Today
- Total
목록정렬알고리즘 (3)
기억을 위한 기록들
초안 : 2021년 9월 22일 1차 수정 : 2023년 4월 10일 기존 Sort(정렬) 알고리즘들이 여러 가지가 있다. 그중에서도 크게 2가지로 나눌 수가 있는데, 바로 Stable Sort와 UnStable Sort로 나눈다. 우선 Stable와 UnStable의 사전적 의미로는 아래와 같다. 정렬 알고리즘의 stability란, 동일한 키(key) 값을 가진 원소(element)들이 정렬 후에도 서로의 상대적인 위치가 유지되는 성질을 말합니다. 따라서 stable 한 정렬 알고리즘은 같은 값을 가진 원소들의 순서가 보존되어야 하는 경우에 유용합니다. 안정적인(stable) 정렬과 불안정한(UnStable) 정렬로 해석이 되는데, 먼저 안정적인 정렬은 나열된 수를 정렬한 뒤에도 기존에 있던 순서를 ..
- 초안 작성 : 2020년 12월 27일 - 1차 수정 : 2023년 4월 3일 정렬 알고리즘이란? - 목록 안에 저장된 요소들을 특정한 순서대로 재배치하는 알고리즘 - 입력데이터는 보통 배열과 같은 데이터 구조 (연결리스틑 사용하면 처음 or 끝부터 차례대로 훑어야해서 정렬 시 사용이 복잡해진다) - 흔히 사용하는 순서 : 숫자 , 사전 순서(A~Z) - 정렬 방향 : 오름차순, 내림차순 사용하는 이유?? - 좀 더 효율적인 알고리즘을 사용하기 위해 - 사람이 읽기 편함을 위한 등등... 정렬시 고려사항 - 시간 복잡도 - 메모리 사용량 - 안정성(stability) - > safety가 아니라 stable 이다. -> 데이터의 순서가 바뀌지 않느냐 여부 문제 - 직렬 vs 병렬 안정성을 잘 모르는 ..
www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net #include #include #include #include using namespace std; int main() { string n; cin >> n; unique_ptr arr = make_unique(n.size()); for (int i = 0; i < n.size(); i++) { arr[i] = n[i]-'0'; } int curIndex = 0; for (int i = 0; i < n.size(); i++) { curIndex = i; for (int j = i + 1; j < ..