Home [Algorithm][Python] 선택정렬 ( selection sort )
Post
Cancel

[Algorithm][Python] 선택정렬 ( selection sort )

선택정렬 (selection sort)

1. 선택 정렬 이란?

  1. 주어진 데이터 중, 최소값을 찾음
  2. 해당 최소값을 데이터 맨 앞에 위치한 값과 교체함
  3. 맨 앞의 위치를 뺀 나머지 데이터를 동일한 방법을 반복

직접 눈으로 보면 더 이해가 쉽다: https://visualgo.net/en/sorting

출처: https://en.wikipedia.org/wiki/Selection_sort

2. 알고리즘 구현

  1. 0번째 인덱스부터 마지막 -1 인덱스를 순회 ( 왜냐? 마지막 인덱스는 2번째 순회에서 보기 때문)
  2. 첫번째 요소를 가장 낮은 lowest 라고 할당하고, 차례대로 비교하여 lowest 를 업데이트
  3. 각 비교가 끝나면 맨앞으로 보냄ㅈ
1
2
3
4
5
6
7
8
def selection_sort(data):
	for index in range(len(data)-1):
		lowest = index
		for index2 in range(index + 1, len(data)):
			if data[lowest] > data[index2]:
				lowest = index2
		data[index], data[lowest] = data[lowest], data[index]
	return data
This post is licensed under CC BY 4.0 by the author.

[Algorithm][Python] Python range() 사용법

[Algorithm][Python] 삽입정렬 (insertion sort)