https://www.youtube.com/watch?v=jpyslMwprao&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=21https://www.youtube.com/watch?v=jpyslMwprao&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=21

21강 선택 정렬-0
21강 선택 정렬-1
21강 선택 정렬-2
21강 선택 정렬-3

21강 선택 정렬-5

경우 등

21강 선택 정렬-7
21강 선택 정렬-8

10개의 데이터가 있다고 가정

21강 선택 정렬-10
21강 선택 정렬-11

정렬한 결과를 어떻게 구할수 있을까요?

21강 선택 정렬-13
21강 선택 정렬-14

정렬방법을

이용해서 정확히 명시해 주지 않으면

21강 선택 정렬-17

때는 정확히 어떠한 방식으로

21강 선택 정렬-19
21강 선택 정렬-20

선택정렬 알고리즘

21강 선택 정렬-22
21강 선택 정렬-23

가장 작은 데이터를 골라서 제일 앞쪽으로

21강 선택 정렬-25
21강 선택 정렬-26
21강 선택 정렬-27

동작 예시에 대해서

21강 선택 정렬-29
21강 선택 정렬-30

자 그럼 이렇게 0과 7의 위치가 서로 바뀐걸 확인할 수 있구요 첫 번째 원소 까지는 정렬이 수행된걸 확인할 수 있습니다.

21강 선택 정렬-32

데이터를 골라주는데요

21강 선택 정렬-34

이 5와 이렇게 1과 5가 위치가

바뀐걸 확인할 수 있습니다

21강 선택 정렬-38

서 가장 작은 데이터인 2를 골라서 앞에 9와 위치를 바꿔 줄수 있도록합니다

21강 선택 정렬-40
21강 선택 정렬-41

이 3을 찾아서

21강 선택 정렬-43
21강 선택 정렬-44
21강 선택 정렬-45
21강 선택 정렬-46

동작 과정을

매번 가장 작은 원소를

21강 선택 정렬-49

찾아야 하기 때문에

21강 선택 정렬-51

선택정렬을 구현 할 수 있습니다

정리

매번 탐색범위에서 가장 작은값을 맨앞으로 그다음 가장 작은 값을 제외한 나머지 범위에서 다시 작은걸 맨앞으로 반복할때마다 탐색 범위는 줄어듬 선형 탐색하는 것과 동일 이중 반복문을 통해 만들수 있음

21강 선택 정렬-56
21강 선택 정렬-57

있는걸 확인 할 수 있구요

21강 선택 정렬-59

겁니다

21강 선택 정렬-61
21강 선택 정렬-62
21강 선택 정렬-63
21강 선택 정렬-64

-1까지 차례대로 증가하며 이제 선형 탐색을 수행해서 가장 작은

원소를 찾는 겁니다 자 그래서 현재

21강 선택 정렬-67

min 인덱스 값으로

21강 선택 정렬-69

수행이 끝났을때

이 min 인덱스에 담기게 될겁니다 자 그래서 가장 앞쪽 원소와 가장 작은 원소를

서로 바꿔 줄수 있도록 하는 겁니다

21강 선택 정렬-73

이 스왑 연산을

21강 선택 정렬-75

표현할수 있습니다

이처럼 단순하게 한줄을 이용해서 바로 스와핑 (파이썬의 장점)

21강 선택 정렬-78
21강 선택 정렬-79

수행된 결과라고 볼수 있습니다

이어서

21강 선택 정렬-82
21강 선택 정렬-83
21강 선택 정렬-84
21강 선택 정렬-85
21강 선택 정렬-86

담기도록 해서 가장 작은 원소의 위치를 찾은 뒤에 가장 앞쪽에 있는 원소와 가장 작은

원소의 그 위치 값을 서로 바꿔 줄수 있도록 하는 것입니다

21강 선택 정렬-89

0123456789가 출력됩니다

이어서 자바 코드까지 확인해보겠습니다

21강 선택 정렬-93
21강 선택 정렬-94

이민 인덱스를 이용해서

21강 선택 정렬-97

찾도록해서

확인할수 있습니다

21강 선택 정렬-100

잠시 하나의 값을 기록해 놓는 방법을 이용해서 이렇게 두원소의 위치값을 바꿔줄수 있습니다

21강 선택 정렬-102
21강 선택 정렬-103

수행된 결과까지

정렬이 수행된 결과가 성공적으로

21강 선택 정렬-106
21강 선택 정렬-107
21강 선택 정렬-108
21강 선택 정렬-109

이와같이 (위에 보이는 식) 이런식으로 가서

21강 선택 정렬-111

정렬을 수행해 주지 않아도

연산횟수가 구성되는걸 확인할수 있습니다 그래서 이는

21강 선택 정렬-114

같이 표현할수 있는데요

21강 선택 정렬-116

빅오 표기법에 따라서 나타내어 지면

이 개수의 해당하는 끝에 /2 (2분의 1은 ) 그냥 생략되고

21강 선택 정렬-119

O의 n제곱이라고 표현 할수 있습니다

21강 선택 정렬-121

Last Updated:

Summarize & share videos seamlessly

Loading...