Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- prototype
- APPEND
- 인터프리터
- 메모이제이션
- 원본과 복사본
- scope
- node.js
- 리커젼
- 코드스테이츠
- css기초
- IT
- 클로저
- 생활코딩
- var
- AWS조사
- node.js설치
- AWS기초
- vscode
- 개발툴
- 스코프
- let
- 재귀함수
- JavaScript
- flex기본
- complexity
- 기초공부
- AWS
- Big-O notation
- appendChild
- CSS
Archives
- Today
- Total
Jveloper
선택 정렬(Selection Sort Algorithm) 본문
선택 정렬은 이름에 맞게 현재 위치에 들어갈 값을 찾아 정렬하는 배열이다. 현재 위치에 저장 될 값의 크기가 작냐, 크냐에 따라 최소 선택 정렬(Min-Selection Sort)과 최대 선택 정렬(Max-Selection Sort)로 구분 할 수 있다.
최소 선택 정렬은 오름차순으로 정렬될 것이고, 최대 선택 정렬은 내림차순으로 정렬될 것이다.
1. 정렬 되지 않은 인덱스의 맨 앞에서 부터, 이를 포함한 그 이후의 배열값 중 가장 작은 값을 찾아간다.
(정렬되지 않은 인덱스의 맨 앞은, 초기 입력에서는 배열의 시작위치일 것이다.)
2. 가장 작은 값을 찾으면, 그 값을 현재 인덱스의 값과 바꿔준다.
3. 다음 인덱스에서 위 과정을 반복해준다.
이 정렬 알고리즘은 n-1개, n-2개... 1개씩 비교를 반복한다.
배열이 어떻게 되어있던지간에 전체 비교를 진행하므로 시간복잡도는 O(N^2)이다.
공간복잡도는 단 하나의 배열에서만 진행하므로 O(N)이다.
'알고리즘' 카테고리의 다른 글
Sort Algorithm 정리 (0) | 2019.12.15 |
---|---|
힙 정렬(Heap Sort Algorithm) (0) | 2019.12.15 |
삽입 정렬(Insertion Sort Algorithm) (0) | 2019.12.15 |
버블 정렬(Bubble Sort Algorithm) (0) | 2019.12.15 |
합병 정렬(Merge Sort Algorithm) (0) | 2019.12.15 |
Comments