TIL(20181112)
by choising
20181112
정렬 알고리즘
버블 정렬
- 붙어있는 원소끼리 비교.
- 가장 뒷 쪽부터 정렬된다.
- 매우 비효율적이나 구현이 쉽다.
- n-1, n-2, … , 1
삽입 정렬
- 손 안에 있는 카드를 정렬하는 것과 유사하다.
- 내 앞의 인덱스의 값을 확인하고, 내가 더 작으면 arr[인덱스+1] = arr[인덱스] (큰 값을 한 칸 오른쪽으로 민다.)
- 내가 내 앞의 인덱스의 값보다 더 클 경우 확인한 인덱스 + 1에 내가 들어간다.
- 내 앞의 인덱스가 더 이상 없을 경우 인덱스 0에 내가 들어간다.
- 베스트의 경우(정렬되어 있는 경우) 시간복잡도 n.
- 1, 2, 3, … , n-1
선택 정렬
- 주어진 리스트 중 최소 값을 찾아 맨 앞의 원소와 교체.
- 가장 앞 쪽부터 정렬된다.
- 비교횟수는 많으나, 교체 횟수가 적은 것이 장점.
- 역순일 때 가장 빠르다.
Subscribe via RSS