10000COW 2022. 11. 29. 18:52
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