๋ค์ด๊ฐ๊ธฐ ์ ์, ๋ฌธ์ ์์ ์ฃผ์ด์ง '์ ๋ ฌํ ๋์์ ๊ฐฏ์'๊ฐ ์ปค์ง๋ฉด ์ ๋ ฌ์ด ์ด๋ ต๋ค. ๊ทธ๊ฒ์ ๋ํ ํด๊ฒฐ์ฑ ์? ๋ถํ ์ ๋ณต ๊ธฐ๋ฒ(Divide-and-Conquer) STEP 1. ์๋ ๋ฌธ์ ๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ํ ์ ์๋ ์์ ๋ฌธ์ ๋ก ๋๋(Divide) STEP 2. ๊ฐ๊ฐ์ ๋ฌธ์ ๋ฅผ ํ(Delegate) STEP 3. ๊ฐ๊ฐ์ ๋ฌธ์ ์ ๋ต์ ์ด์ฉํด ์๋ ๋ฌธ์ ์ ๋ต์ ๋ง๋ ๋ค.(Combine) ์ ๋ ฌ์ ์ํ ๋ถํ ์ ๋ณต ๊ธฐ๋ฒ์ ๋ํ์ ์ผ๋ก ๋ ๊ฐ์ง๊ฐ ์๋ค. 1. ๋ณํฉ ์ ๋ ฌ(Merge sort) 2. ํต ์ ๋ ฌ(Quick sort) ๋ณธ๊ฒฉ์ ์ผ๋ก ๋ณํฉ ์ ๋ ฌ์ ๋ํด ์์๋ณด์. ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ณธ ์์ด๋์ด Divide - ์ ๋ ฌํ ๋ฆฌ์คํธ๋ฅผ ์ ์ชฝ ๋ฐ, ๋ค์ชฝ ๋ฐ์ผ๋ก ๋๋๋ค. Half Delegate(Front) - ์ ์ชฝ ๋ฐ์ ์ ๋ ฌํ๋ค. Half De..
์ฝ์ ์ ๋ ฌ - ์ด๋ฏธ ์ ๋ ฌ๋ ๋ถ๋ถ์ ํญ์ ์ ๋ ฌ๋์ด ์๋ค. - ์ฒ์์๋ ์ ๋ ฌ๋ ๋ถ๋ถ์ ์์๊ฐ 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(n..
๋ฒ๋ธ ์ ๋ ฌ: ๋งจ ์ผ์ชฝ ์์๋ถํฐ ๋ฐ๋ก ์ด์ํ ์์์ ๋น๊ตํด ๊ฐ๋ฉด์, ํฐ ์๊ฐ ์ค๋ฅธ์ชฝ์ผ๋ก ๊ฐ๋๋ก ๊ตํํจ. ๋งจ ๋๊น์ง ๊ฐ๋ฉด ๊ฐ์ฅ ํฐ ์์๋ฅผ ์ฐพ์ ๊ฒ์ด๋ฏ๋ก, ์ด ๊ณผ์ ์ ๋ค์ ๋๋จธ์ง n-1๊ฐ ์์ ๋ํด์ ๋ฐ๋ณต. ์๊ฐ๋ณต์ก๋: O(n^2) ๋ฒ๋ธ์ ๋ ฌ Python ์ฝ๋ def bubbleSort(): numbers = list(map(int, input().split(' '))) for i in range(0, len(numbers) - 1): for j in range(i+1, len(numbers)): if(numbers[i] > numbers[j]): tmp = numbers[j] numbers[j] = numbers[i] numbers[i] = tmp print(numbers) ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ
- Total
- Today
- Yesterday
- ์๊ณ ๋ฆฌ์ฆ
- Component
- ์๋ฃ๊ตฌ์กฐ
- mdn
- github
- react
- Context API
- CSS
- state
- git
- ์ ๋ ฌ
- useState
- ๋ธ๋ผ์ฐ์
- DOM
- error
- ํจ์
- JavaScript
- Python
- leetcode
- ์๋ฌ
- ๊ทธ๋ํ
- Browser
- ๋ฆฌ์กํธ
- BOJ
- ํ์ด์ฌ
- DB
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- zustand
- ์๋ฐ์คํฌ๋ฆฝํธ
- React Query
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |