๐ง Algorithm/์ฌ์ฌํ์ด ๋
์ฝฉ๐ฅ
์ฌ์ฌํ์ด ๋ ์ฝฉ๐ฅ : ํต ์ ๋ ฌ(Quick Sort)
4:Bee
2023. 9. 26. 04:37
728x90
์ด๋ฒ์๋ ํต ์ ๋ ฌ์ ๊ดํด์ ๋ฐฐ์ ๋ณผ ๊ฒ์ด๋ค. ํต ์ ๋ ฌ์ pivot์ ์ค์ ์ผ๋ก ๋ฐฐ์ด์ ์์๊ฐ๋ ์ฝ๋์ด๋ค. ์ด ์ฝ๋๋ ๊ทธ๋ ๊ฒ ์ด๋ ต์ง ์์ ์ฝ๋์ด๊ธฐ ๋๋ฌธ์ ์๋ ์ฝ๋๋ฅผ ์ฒ์ฒํ ์ดํด๋ณด๋ฉด ์ฝ๊ฒ ์ ์ ์์ ๊ฒ์ด๋ค.
def quick_sort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
left = [x for x in arr[1:] if x <= pivot]
right = [x for x in arr[1:] if x > pivot]
return quick_sort(left) + [pivot] + quick_sort(right)
# ์ ๋ ฌํ ๋ฆฌ์คํธ๋ฅผ ์์ฑ
my_list = [64, 34, 25, 12, 22, 11, 90]
# ํต ์ ๋ ฌ์ ์ฌ์ฉํ์ฌ ๋ฆฌ์คํธ๋ฅผ ์ ๋ ฌ
sorted_list = quick_sort(my_list)
# ์ ๋ ฌ๋ ๋ฆฌ์คํธ ์ถ๋ ฅ
print("ํต ์ ๋ ฌ ๊ฒฐ๊ณผ:", sorted_list)
728x90