Selection_sort.md
์ ๋ ฌ(Sorting)
๋ฐ์ดํฐ๋ฅผ ํน์ ํ ๊ธฐ์ค์ ๋ฐ๋ผ์ ์์๋๋ก ๋์ดํ๋ ๊ฒ
๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
์ค๋ฆ์ฐจ์ ์ ๋ ฌ ๋ฑ๋ฑ
์ ํ ์ ๋ ฌ(Selection Sorting)
๊ฐ๋
์ ์๋ฆฌ ์ ๋ ฌ(in-place sorting) ์๊ณ ๋ฆฌ์ฆ์ ํ๋
์ ๋ ฅ ๋ฐฐ์ด(์ ๋ ฌ๋์ง ์์ ๊ฐ๋ค) ์ด์ธ์ ๋ค๋ฅธ ์ถ๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๊ตฌํ์ง ์๋ ์ ๋ ฌ ๋ฐฉ๋ฒ
ํด๋น ์์์ ์ด๋ค ์์๋ฅผ ๋ฃ์์ง ์ ํํ๋ ์๊ณ ๋ฆฌ์ฆ
ํน์ง
์๋ฃ ์ด๋ ํ์๊ฐ ๋ฏธ๋ฆฌ ๊ฒฐ์ ๋๋ค.
๊ฐ์ด ๊ฐ์ ๋ ์ฝ๋๊ฐ ์๋ ๊ฒฝ์ฐ์ ์๋์ ์ธ ์์น๊ฐ ๋ณ๊ฒฝ๋ ์ ์๋ค.
์๊ฐ๋ณต์ก๋ O(n^2)
์์

์ฒซ๋ฒ์งธ ์๋ฃ๋ฅผ ๋๋ฒ์จฐ์๋ฃ๋ถํฐ ๋ง์ง๋ง ์๋ฃ๊น์ง ์ฐจ๋ก๋๋ก ๋น๊ตํ์ฌ ๊ฐ์ฅ ์์ ๊ฐ์ ์ฐพ์ ์ฒซ๋ฒ์งธ์ ๋๊ณ , ๋ ๋ฒ์งธ ์๋ฃ๋ฅผ ์ธ๋ฒ์งธ ์๋ฃ๋ถํฐ ๋ง์ง๋ง ์๋ฃ๊น์ง์ ์ฐจ๋ก๋๋ก ๋น๊ตํ์ฌ ๊ทธ ์ค ๊ฐ์ฅ ์์ ๊ฐ์ ์ฐพ์ ๋๋ฒ์งธ ์์น์ ๋๋ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ฉฐ ์ ๋ ฌ์ ์ํํ๋ค.
๊ตฌํ
def selection_sort(arr):
for i in range(len(arr)):
for j in range(i+1, len(arr)):
if arr[i] < arr[j]:
arr[i], arr[j] = arr[j], arr[i]
return arr
Last updated