ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

728x90

์‚ฝ์ž… ์ •๋ ฌ

- ์ด๋ฏธ ์ •๋ ฌ๋œ ๋ถ€๋ถ„์€ ํ•ญ์ƒ ์ •๋ ฌ๋˜์–ด ์žˆ๋‹ค.

- ์ฒ˜์Œ์—๋Š” ์ •๋ ฌ๋œ ๋ถ€๋ถ„์— ์›์†Œ๊ฐ€ 1๊ฐœ

- ๋งค๋ฒˆ, ์ •๋ ฌํ•  ๋ถ€๋ถ„์˜ ์›์†Œ 1๊ฐœ๋ฅผ ์ด๋ฏธ ์ •๋ ฌ๋œ ๋ถ€๋ถ„์œผ๋กœ ์˜ฎ๊ธด๋‹ค.

 

์‹œ๊ฐ„ ๋ณต์žก๋„ Θ(n^2)

- ๊ฐ€์žฅ ์ข‹์„ ๋•Œ: ์ด๋ฏธ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ์„ ๋•Œ -> ์ด n-1 ๋ฒˆ = Θ(n)

- ์ตœ์•…์˜ ๊ฒฝ์šฐ: ์—ญ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ์„ ๋•Œ

i๋ฒˆ์งธ ์œ„์น˜์˜ ์›์†Œ๋ฅผ ์ •๋ ฌ๋œ ๋ถ€๋ถ„์— ์ถ”๊ฐ€ํ•  ๋•Œ, i-1 ๊ฐœ์˜ ์›์†Œ์™€ ๋ชจ๋‘ ๋น„๊ตํ•ด์•ผํ•œ๋‹ค.

i = 2,3, ..., n์ผ ๋•Œ ๊ฐ๊ฐ ๋น„๊ตํ•ด์•ผํ•  ๊ฐœ์ˆ˜๋Š” 1+ 2+ ... + n-1 = n(n-1)/2 = Θ(n^2)

 

 

์‚ฝ์ž… ์ •๋ ฌ Python ์ฝ”๋“œ

def insertionSort():
    nums = list(map(int, input().split(' ')))
    
    for i in range(1, len(nums)):
        for j in range(i, 0, -1):
            if(nums[j-1] > nums[j]):
                nums[j-1], nums[j] = nums[j], nums[j-1]

    print(nums)

์ž…๋ ฅ ๋ฐ ์ถœ๋ ฅ ๊ฒฐ๊ณผ

728x90
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
ยซ   2025/02   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
๊ธ€ ๋ณด๊ด€ํ•จ
250x250