๊ด€๋ฆฌ ๋ฉ”๋‰ด

C-log

์‹ฌ์‹ฌํ’€์ด ๋•…์ฝฉ๐Ÿฅœ : ํ€ต ์ •๋ ฌ(Quick Sort) ๋ณธ๋ฌธ

๐Ÿง 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
Comments