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

C-log

์‹ฌ์‹ฌํ’€์ด ๋•…์ฝฉ๐Ÿฅœ : ๋ฒ„๋ธ” ์ •๋ ฌ(Bubble Sort) ๋ณธ๋ฌธ

๐Ÿง Algorithm/์‹ฌ์‹ฌํ’€์ด ๋•…์ฝฉ๐Ÿฅœ

์‹ฌ์‹ฌํ’€์ด ๋•…์ฝฉ๐Ÿฅœ : ๋ฒ„๋ธ” ์ •๋ ฌ(Bubble Sort)

4:Bee 2023. 9. 11. 11:41
728x90

๋ฒ„๋ธ” ์ •๋ ฌ์€ ์ธ์ ‘ํ•œ ๋‘ ์›์†Œ๋ฅผ ๋น„๊ตํ•˜๋ฉฐ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๊ตํ™˜ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๊ตํ™˜ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

arr = [2,3,5,1,6,4]
len = 6 if arr[j] > arr[j+1] :
    arr[j], arr[j+1] = arr[j+1], arr[j]
[n][arr]
i =  0 / 2 i =  1 / 3 i =  2 / 3 i =  3 / 4 i =  4 / 5 i =  5 / 6
j =  0 / 2 j =  0 / 2 j =  0 / 2 j =  0 / 1 j =  0 / 1  
j =  1 / 3 j =  1 / 3 j =  1 / 2 j =  1 / 2    
j =  2 / 5 j =  2 / 3 j =  2 / 3      
j =  3 / 5 j =  3 / 5        
j =  4 / 6          
def bubble_sort(arr):
    n = len(arr) #n์— arr ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๋ฐฐ์—ด ๊ธธ์ด๋ฅผ ๋‹ต์•„๋‚ธ๋‹ค. ์ด๋Š” ๋ฐ˜๋ณต๋ฌธ์˜ ๊ธฐ์ค€์„ ์œ„ํ•œ ๋ณ€์ˆ˜์ด๋‹ค.
    for i in range(n):  #range()ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด์„œ ํ•ด๋‹น ๋ฐ˜๋ณต์˜ ๋ฒ”์œ„๋ฅผ ์„ ์ •ํ•ด์ค€๋‹ค.
        #i๋ฒˆ์งธ๋Š” ์ฒซ๋ฒˆ์งธ ์ ๊ฒ€์„ ํ•˜๋Š” standard์ด๋‹ค.
        print("i = ", i, "/", arr[i])
        #j๋ฒˆ์งธ๋กœ ๋„˜์–ด๊ฐ€์„œ ๋””ํ…Œ์ผํ•œ ์ ๊ฒ€์œผ๋กœ ์ฐจ์ˆœ์„ ๋งž์ถฐ๊ฐ€๋Š” ๊ฒƒ์ด๋‹ค.
        for j in range(0, n-i-1): #i๋ฅผ ๊ธฐ์ค€์œผ๋กœ j์—์„œ ์ง€์ •๋œ ๋ฒ”์œ„๋ฅผ ๋ชจ๋‘ ์Šคํฌ๋กค๋งํ•˜๋ฉด์„œ ์•„๋ž˜ if๋ฌธ ์กฐ๊ฑด์„ ๋งž์ถฐ๋ณธ๋‹ค.
            #-1์„ ํ•˜๋Š” ์ด์œ ๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— len(arr)์˜ ๊ธธ์ด๋ฅผ ๋งž์ถ”๊ธฐ ์œ„ํ•ด์„œ๋‹ค.
            print("j = ", j, "/", arr[j])
            if arr[j] > arr[j+1]:# ํ˜„ j๋ฒˆ์งธ์™€ ๋‹ค์Œ j๋ฒˆ์งธ๋ฅผ ๋น„๊ตํ•œ๋‹ค ์ดํ›„ ํ•ด๋‹น ์กฐ๊ฑด์— ๋„๋‹ฌํ•˜๋ฉด ํ˜„ ์œ„์น˜์—์„œ ์ž‘์€ ์ˆซ์ž๋ฅผ ์•ž์œผ๋กœ ๋ณด๋‚ด๊ณ  ํฐ ์ˆซ์ž๋Š” ๋’ค๋กœ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด๋‹ค.
                arr[j], arr[j+1] = arr[j+1], arr[j] #

arr = [2,3,5,1,6,4] #6
bubble_sort(arr)
print(len(arr))
print(arr)

if๋ฌธ๊ณผ for๋ฌธ์— ํ•ด๋‹น๋˜๋Š” ์กฐ๊ฑด๋“ค์„ ์ž˜ ๋ด์•ผํ•œ๋‹ค. ๋ฒ„๋ธ” ์ •๋ ฌ์€ ์„ ํƒ์ •๋ ฌ๊ณผ ๋‹ฌ๋ฆฌ ๊ธฐ์ค€์„ ๋†“๊ณ  ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ชจ๋“  ๋ฐฐ์—ด์„ ํ›‘์–ด ๊ฐ€๋ฉด์„œ ๋น„๊ตํ•œ๋‹ค.

 

๋ฌธ์ž์—ด์„ ๋ฒ„๋ธ” ์ •๋ ฌ ํ•˜๊ธฐ

 

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] level1 ๋ฌธ์ž์—ด ๋‚ด ๋งˆ์Œ๋Œ€๋กœ ์ •๋ ฌํ•˜๊ธฐ - ํŒŒ์ด์ฌ(Python)

 

junsik-hwang.tistory.com

 

728x90
Comments