์ ๊ณต ๊ณผ๋ชฉ/์ปดํจํฐ ์๊ณ ๋ฆฌ์ฆ(2)
-
์๊ณ ๋ฆฌ์ฆ - ํฉ๋ณ์ ๋ ฌ
์๊ณ ๋ฆฌ์ฆ - ํฉ๋ณ์ ๋ ฌ 1๊ฐ๊ฐ ๋จ์ ๋๊น์ง ๋๋๋ค.(DIVIDE), ํฉ์น๋ค. mergesort ์ merge๋ 2:1์ ๊ด๊ณ์ ์๋ค. ์ฌ๊ท์ด๊ธฐ ๋๋ฌธ์ -> ์คํ์ ์ด์ฉํ๋ค. mergesortํจ์์ ์์ค์ฝ๋ void mergesort(int n, keytype S[]){ if(n>1){ const int h = n/2, m = n-1; keytype U[h], V[m]; for(int I = 0; i
2021.03.17 -
์๊ณ ๋ฆฌ์ฆ - ๋ถํ ์ ๋ณต
์๊ณ ๋ฆฌ์ฆ - ๋ถํ ์ ๋ณต 1) ๋ถํ : ํด๊ฒฐํ๊ธฐ ์ฝ๋๋ก ๋ฌธ์ ๋ฅผ ์์ ๋ถ๋ถ์ผ๋ก ๋๋๋ค. 2) ์ ๋ณต : ๋๋ ์์ ๋ฌธ์ ๋ฅผ “๊ฐ๊ฐ” ํด๊ฒฐํ๋ค. 3) ํตํฉ : (ํ์ํ๋ค๋ฉด) ํด๊ฒฐ๋ ํด๋ต์ ๋ชจ์๋ค. ์ด๋ฌํ ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์(top-down)ํํฅ์ ์ ๊ทผ๋ฐฉ๋ฒ ์ด๋ผ๊ณ ํ๋ค. ์ด๋ ์ด๋ถ๊ฒ์(Binary Search) ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ๋ค. ์ด๋ถ๊ฒ์์ O(logn)์ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค. ์์ฐจ๊ฒ์์ด O(n)์ด ๊ฑธ๋ฆฌ๋ ๊ฒ์ ๋ณด๋ฉด ๋์ฑ ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ธ ๊ฒ์ ์ ์ ์๋ค. ์ด๋ถ๊ฒ์์ ์ค๊ณ์ ๋ต: 1) x๊ฐ ๋ฐฐ์ด์ ์ค๊ฐ์ ํญ๋ชฉ๊ณผ ๊ฐ์ผ๋ฉด ๋น๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด: ๋ถํ : ๋ฐฐ์ด์ ๋๋์ด์ x๊ฐ ์ค์๋ณด๋ค ์์ผ๋ฉด ์ผ์ชฝ์ ์์นํ ๋ฐ์ชฝ์ ์ ํํ๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด ์ค๋ฅธ์ชฝ์ ์์นํ ๋ฐฐ์ด ๋ฐ์ชฝ์ ์ ํํ๋ค. 2) ์ ๋ณต : ์ ํ๋ ๋ฐ์ชฝ ๋ฐฐ์ด์์ x๋ฅผ ์ฐพ๋..
2021.03.16