์ ํ์ ๋ ฌ
๋ฐ์ดํฐ์์ ์ต์๊ฐ์ ์ฐพ์ ๊ทธ ๊ฐ๊ณผ ๋ฒ์์ ๋งจ ์์ ์๋ ๊ฐ์ ์๋ก ๋ฐ๊พธ๋ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
์ ํ์ ๋ ฌ ๊ณผ์
์๋ฅผ ๋ค์ด [2, 4, 5, 1, 3] ๊ฐ ์์ ๋, ๊ฐ์ฅ ์์ ๊ฐ์ ์ฐพ์ ์ฒซ๋ฒ์งธ ๊ฐ๊ณผ ๊ทธ ๊ฐ์ ๋ฐ๊พผ๋ค.
(์ด๋ฏธ ์ ๋ ฌ ์๋ฃ๋ ๊ฐ์ | ๋ก ๊ตฌ๋ถํ๋ค.)
[2, 4, 5, 1, 3] # ๊ฐ์ฅ ์์ ๊ฐ : 1 <-> ์ฒซ๋ฒ์งธ ๊ฐ : 2
[1 | 4, 5, 2, 3] # ๊ฐ์ฅ ์์ ๊ฐ : 2 <-> ์ฒซ๋ฒ์งธ ๊ฐ : 4
[1, 2 | 5, 4, 3] # ๊ฐ์ฅ ์์ ๊ฐ : 3 <-> ์ฒซ๋ฒ์งธ ๊ฐ : 5
[1, 2, 3 | 4, 5] # ๊ฐ์ฅ ์์ ๊ฐ : 4 <-> ์ฒซ๋ฒ์งธ ๊ฐ : 4 //๋ณํ์์
[1, 2, 3, 4 | 5] # ์๋ฃ๊ฐ 5 ํ๋๋ง ๋จ์. ์ข
๋ฃ
๊ฒฐ๊ณผ [1, 2, 3, 4, 5]
์ ํ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ
def sel_sort(a):
n = len(a)
for i in range(0, n - 1):
min_idx = i
for j in range(i + 1, n):
if a[j] < a[min_idx]:
min_idx = j
a[i], a[min_idx] = a[min_idx], a[i]
print(a)
d = [2, 4, 5, 1, 3]
sel_sort(d)
print(d)
์ฐธ๊ณ
ํ์ด์ฌ์ ๋ ์๋ฃ์ ๊ฐ์ ๋ฐ๊ฟ๋ ๋ค์๊ณผ ๊ฐ์ด ์ผํ๋ฅผ ์ด์ฉํด ๋ณ์๋ฅผ ๋ค์ง๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
์๋ฅผ ๋ค์ด x์ y์ ๊ฐ์ ๋ฐ๊ฟ ๋ x, y = y, x ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๊ฒ ๋ฐ๊ฟ ์ ์๋ค.
์ ํ์ ๋ ฌ์ ์๊ฐ๋ณต์ก๋๋ O(N^2)์ด๋ค.
'Algorithm > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ๋ณํฉ์ ๋ ฌ (0) | 2020.08.23 |
---|---|
[Python] ์ฝ์ ์ ๋ ฌ (0) | 2020.08.22 |
[Python] ์์ฐจํ์ (0) | 2020.08.19 |
[Python] ์ต๋๊ณต์ฝ์ ๊ตฌํ๊ธฐ (0) | 2020.08.16 |
[Python] ํฉํ ๋ฆฌ์ผ ๊ตฌํ๊ธฐ (0) | 2020.08.16 |