- @참고: https://scshim.tistory.com/267
1. 선택 정렬: 가장 작은걸 조사하면서 맨앞부터 순서대로 차곡차곡 보내기 //O(N^2)
2. 삽입 정렬: 현재 카드의 앞쪽 한칸씩 조사하며 더 작은 수를 만나면 그 뒤에 삽입한다. //O(N^2)
3. 퀵 정렬: 피벗을 선정해(호어Hoare 분할 방식은 첫번째 원소가 피벗!) 왼쪽부터 오른쪽으로는 피벗보다 큰 데이터 찾고, 오른쪽에서 왼쪽으로는 피벗보다 작은 데이터를 찾아서, 서로 엇갈리지 않을 땐 <- 로 찾은 수와 -> 로 찾은 수를 서로 교환. 서로 엇갈릴 땐 <- 로 찾은 수와 피벗을 교환. <- 로 모두 찾아도 피벗이 가장 클 땐 -> 맨 마지막과 피벗을 교환. // 평균 O(NlogN), 최악은 o(N^2)
4. 계수 정렬: 모든 데이터가 양수일 때, 데이터 크기가 제한적(1,000,000)일 때
'Algorithm' 카테고리의 다른 글
알고리즘 코딩 테스트 붙는 법 (1) | 2024.01.26 |
---|---|
[자료구조] 레드-블랙 트리(red-black tree) (0) | 2023.01.06 |
[알고리즘] java 비트연산 (0) | 2022.11.20 |
[Java] System.in.read() (0) | 2022.11.01 |
[알고리즘] Comparable, Comparator와 정렬의 관계 (0) | 2022.01.21 |