ํฐ์คํ ๋ฆฌ ๋ทฐ
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
'๐ง๐ปโ๐ป ์๊ณ ๋ฆฌ์ฆ > ์ ๋ ฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ ๋ ฌ] 6. ํ ์ ๋ ฌ (0) | 2022.11.30 |
---|---|
[์ ๋ ฌ] 5. ํต ์ ๋ ฌ (0) | 2022.11.30 |
[์ ๋ ฌ] 2. ์ ํ ์ ๋ ฌ (0) | 2022.11.30 |
[์ ๋ ฌ] 4.๋ณํฉ์ ๋ ฌ(Merge sort) (0) | 2022.11.29 |
[์ ๋ ฌ] 1.๋ฒ๋ธ์ ๋ ฌ (0) | 2022.11.29 |
๊ณต์ง์ฌํญ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ
- Total
- Today
- Yesterday
๋งํฌ
TAG
- CSS
- ์๊ณ ๋ฆฌ์ฆ
- ์๋ฃ๊ตฌ์กฐ
- Component
- ํ์ด์ฌ
- useState
- ์ ๋ ฌ
- JavaScript
- react
- ์๋ฌ
- ๋ฆฌ์กํธ
- leetcode
- ์๋ฐ์คํฌ๋ฆฝํธ
- git
- ํจ์
- React Query
- DOM
- Python
- mdn
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- DB
- BOJ
- state
- ๋ธ๋ผ์ฐ์
- zustand
- error
- ๊ทธ๋ํ
- Context API
- github
- Browser
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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