[ 목차 ]
1. 정렬문제
2. 선택정렬 알고리즘
3. 선택정렬 정확성 증명
4. 선택정렬 성능분석
1. 정렬문제
1) 컴퓨터가 이해할 수 있게 입력과 출력으로 명확하게 정의해주어야 함
2) 입력 : n개의 숫자들의 배열
3) 출력 : 입력받은 숫자들을 점점 커지거나(오름차순) 작아지는(내림차순) 순서로 재배열
2. 선택정렬 알고리즘
1) 현재 상황에서 가장 작거나 큰 숫자를 선택하여 재배치하는 아이디어
2) 최소값 선택 정렬 : 가장 작은 값을 선택(오름차순)
1] 정렬되지 않은 숫자 중 가장 작은 숫자를 선택
2] 선택한 숫자를 정렬되지 않은 숫자들 중 첫 번째 숫자와 자리를 바꾸면 선택된 숫자는 정렬된 것
3] 모든 숫자를 옮길 때까지 1-2과정을 반복
3) 최대값 선택 정렬 : 가장 큰 값을 선택(내림차순)
3. 선택정렬 정확성 증명
1) 수학적 귀납법을 사용
2) n번째 선택한 숫자가 n번째로 작은(or 큰) 숫자인지 증명
4. 선택정렬 성능분석
1) 비교횟수 : n(n-1)/2
2) 시간복잡도 : 세타(n제곱)
3) 항상 모든 숫자에 대해 다 비교해야 하기 때문에 최선, 최악의 경우는 존재하지 않음
'T아카데미 > 컴퓨터 알고리즘 초급' 카테고리의 다른 글
5강. 합병정렬 (0) | 2020.04.09 |
---|---|
4강. 삽입정렬 (0) | 2020.04.09 |
2장. 컴퓨터 알고리즘 개요(2) (0) | 2020.04.02 |
1장. 컴퓨터 알고리즘 개요(1) (0) | 2020.04.02 |
개요 (0) | 2020.04.02 |