코드 예시)
2중 for문을 통하여 앞의 인덱스와 뒤 인덱스를 비교하여 스와프 해주면 된다.
선택 정렬의 시간 복잡도는 한개씩 비교하며 범위값이 줄어들기 때문에
n + (n-1) + (n-2) .... + 2 이므로
(n^2 + n-2)/2 로 표현 가능하다. 빅오 표기법에 따라 O(n^2) 이다.
코드 예시)
삽입 정렬의 시간 복잡도는 O(n^2) 이며 선택정렬과 마찬가지로 반복문이 두번 중첩되어 사용 된다. 최선의 경우 O(n)의 시간 복잡도를 가짐.
코드 예시)
퀵 정렬은 평균의 경우 O(nlogn)의 시간 복잡도를 가진다.
하지만 최악의 경우 O(n^2)의 시간 복잡도를 가진다.
간결한 퀵 정렬 코드예시)
이 처럼 퀵 정렬은 재귀적으로 반복수행 하는것을 알 수 있다.
코드 예시)
데이터 개수가 n, 데이터 중 최댓값이 k 일때 최악의 경우에도 O(N+K)수행시간을 보장.
각 정렬들의 비교 표 이다.