일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 백준
- UI한글변경
- getline
- 엑셀
- EOF
- Django Nodejs 차이점
- double ended queue
- vscode
- scanf
- 2557
- iOS14
- 표준 입출력
- 이분그래프
- Django란
- 입출력 패턴
- 프레임워크와 라이브러리의 차이
- 입/출력
- k-eta
- 장고란
- 매크로
- 알고리즘 공부방법
- string 함수
- string 메소드
- Django의 편의성
- c++
- 구조체와 클래스의 공통점 및 차이점
- 자료구조
- correlation coefficient
- 연결요소
- 시간복잡도
Archives
- Today
- Total
Storage Gonie
챕터5-1. 정렬 | 기초 본문
반응형
# 정렬 알고리즘
- 시간복잡도에 따라 크게 2가지로 나눌 수 있다.
- 실제 사용하게 되는 것은 효율이 좋은 O(NlogN) 알고리즘임.
1. 시간 복잡도가 O(N^2)인 알고리즘
- 선택, 버블, 삽입 정렬
2. 시간 복잡도가 O(NlogN)인 알고리즘
- 퀵, 힙, 병합 정렬
# 언어별 정렬함수
- 정렬 알고리즘을 직접 구현하는 것 보다는, 효율적으로 구현된 내장 함수를 사용하는 것이 더 좋다.
@ C++의 경우
- STL인 <algorithm> 헤더의 sort() 사용, sort(begin, end) 는 begin부터 end전까지 정렬해줌
begin은 첫번째 원소를 가리키고, end는 마지막 원소 다음을 가리킨다.
// 배열을 정렬하는 소스
int a[10] = {};
sort(a, a+10); // a배열에서 index 0 ~ 10-1 구간을 정렬한다.
// Vector를 정렬하는 소스
vector<int> a;
sort(a.begin(), b.end());
@ Java의 경우
- Arrays.sort(), Collections.sort()
@ Python의 경우
- sort()
반응형
'알고리즘 > 알고리즘 기초(코드플러스)' 카테고리의 다른 글
챕터5-3. 정렬 | 퀵 정렬(Quick Sort) - Hoare(호어) / Lomuto(로무토) 분할 알고리즘 (0) | 2019.05.19 |
---|---|
챕터5-2. 정렬 | 병합 정렬(Merge Sort) (0) | 2019.05.19 |
챕터4-5. 수학 | 소인수분해, 팩토리얼(Prime Factorization, Factorial) (0) | 2019.05.19 |
챕터4-4. 수학 | 소수(Prime Number) (0) | 2019.05.19 |
챕터4-3. 수학 | 진법변환(Base Conversion) (0) | 2019.05.19 |
Comments