์ ๊ณต ๊ณผ๋ชฉ(41)
-
์๊ณ ๋ฆฌ์ฆ - ํฉ๋ณ์ ๋ ฌ
์๊ณ ๋ฆฌ์ฆ - ํฉ๋ณ์ ๋ ฌ 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 -
์ปดํจํฐ ๊ตฌ์กฐ - ๋ฒ์ค ์ค์ฌ
์ปดํจํฐ ๊ตฌ์กฐ - ๋ฒ์ค ์ค์ฌ CPU, ์ฃผ๊ธฐ์ต์ฅ์น, ๋ชจ๋ํฐ, ํค๋ณด๋, ํ๋ฆฐํฐ, ์บ์์ ์๋์ ์ ๋ถ "์์คํ ๋ฒ์ค"๋ฅผ ํตํด์ ์๋์ด ๋๋ค. ์ด ์์คํ ๋ฒ์ค์ ์ข ๋ฅ์๋ 3๊ฐ์ง(๋ฐ์ดํฐ ๋ฒ์ค, ์ฃผ์ ๋ฒ์ค, ์ ์ด ๋ฒ์ค)๊ฐ ์กด์ฌํ๋ค. ๊ทธ๋ฆฌ๊ณ ์์คํ ๋ฒ์ค์ ์ ์๋๋ ์์๋ค ์ค์์ ์ด๋ฌํ ๋ฒ์ค ์ฌ์ฉ์ ์ฃผ์ฒด๊ฐ ๋๋ ์์๋ค์ "๋ฒ์ค ๋ง์คํฐ"๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๋ฒ์ค ๋ง์คํฐ๋ค์ ํ ์๊ฐ์ ํ ๊ฐ์ ๋ฒ์ค ๋ง์คํฐ๋ง ์์คํ ๋ฒ์ค๋ฅผ ์ด์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๋ "๋ฒ์ค ์ค์ฌ"๋ฅผ ํด์ฃผ์ด์ผ ํ๋ค. ์ค๋ ๋ฐฐ์๋ณผ ๋ด์ฉ์ ๋ฒ์ค ์ค์ฌ์ด๋ค. ๋ฒ์ค ์ค์ฌ - ๋ ๊ฐ ์ด์์ ๋ฒ์ค ๋ง์คํฐ๋ค์ด ๋์์ ๋ฒ์ค ์ฌ์ฉ์ ์์ฒญํ ๊ฒฝ์ฐ์ ์์๋ฅผ ๊ฒฐ์ ํด์ฃผ๋ ์์คํ ๋์. ๋ฒ์ค๋ฅผ ์ค์ฌํ๊ธฐ ์ํด์๋ 3๊ฐ์ง ์ ์ด ์ ํธ๊ฐ ํ์ํ๋ค. (๋ฒ์ค ์๊ตฌ ์ ํธ, ๋ฒ์ค ์น์ธ ์ ํธ, ๋ฒ์ค ์ฌ์ฉ์ค..
2020.12.08 -
C# - ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ (์ค๋ ๋)
C# - ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ (์ค๋ ๋) ์ค๋ ๋ - ํ๋ก๊ทธ๋จ ๋ด๋ถ์ ์๋ ์ ์ด์ ๋จ์ผ ์์ฐจ ํ๋ฆ. ๋จ์ผ ์ค๋ ๋ vs ๋ฉํฐ ์ค๋ ๋ - ๋จ์ผ ์ค๋ ๋๋ ํ, ๊ณต์ ๋ฐ์ดํฐ, ์ฝ๋, ์คํ, ๋ ์ง์คํฐ๊ฐ ํ๋๋ง ์๋ ๊ตฌ์กฐ์ด๊ณ , ๋ฉํฐ ์ค๋ ๋๋ ํ, ๊ณต์ ๋ฐ์ดํฐ, ์ฝ๋, ๋ ์ง์คํฐ๋ ํ๋์ง๋ง, ์คํ์ด ์ฌ๋ฌ๊ฐ์ด๋ฉฐ ์ํ์ ๋ณด๊ฐ ์ฌ๋ฌ๊ฐ์ธ ๊ฒ์ ์๋ฏธํ๋ค. ์ค๋ ๋ ์์ using System; using System.Threading; class SimpleThreadApp { static void ThreadBody() { for (int i =0; i
2020.11.27 -
C# - ๊ณ ๊ธํ๋ก๊ทธ๋๋ฐ (์์ธ)
C# - ๊ณ ๊ธํ๋ก๊ทธ๋๋ฐ (์์ธ) ์ด๋ฒ ์ฅ์์๋ ์์ธ์ ๋ํด์ ์์๋ณผ ๊ฒ์ด๋ค. ์์ธ๋ ํ๋ก๊ทธ๋จ ์คํ์๊ฐ์ ๋ฐ์ํ๋ ์๋ฌ๋ฅผ ์ผ์ปซ๋ ๋ง์ด๋ค. ์ด๋ฌํ ์์ธ์ ๋ํด์ ์ฒด๊ณ์ ์ผ๋ก ๊ฒ์ฌํ๊ณ ์ฒ๋ฆฌํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํด ์ฃผ๋ ๊ฒ์ด ์ฐ๋ฆฌ ํ๋ก๊ทธ๋๋จธ๋ค์ ์ญํ ์ด๋ค. ์ด๋ฅผ ์์ธ ์ฒ๋ฆฌ๊ธฐ ์์ฑ์ด๋ผ๊ณ ํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ์์ธ๋ Exceptionํด๋์ค์ ํ์ ํด๋์ค์ธ ApplicationException ํด๋์ค๋ฅผ ์์๋ฐ์ ์๋ก์ด ์์ธ ํด๋์ค๋ฅผ ์ ์ํ๋ค. ์๋ ๊ฐ๋จํ ์์ ๋ฅผ ํตํด ํ์ธํด๋ณด์. public class UserErrException : ApplicationException { public UserErrException(string s): base(s) { } } public class Program { public sta..
2020.11.27 -
C# ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ - ์ ํธ๋ฆฌ๋ทฐํธ
C# ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ - ์ ํธ๋ฆฌ๋ทฐํธ ์ ํธ๋ฆฌ๋ทฐํธ - ์ด์ ๋ธ๋ฆฌ๋ ํด๋์ค, ํ๋, ๋ฉ์๋, ํ๋กํผํฐ ๋ฑ์ ๋ค์ํ ์ ๋ณด๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํด์ ์ฌ์ฉ - ๋ฉํ๋ฐ์ดํฐ ํ์์ผ๋ก ์ ์ฅ๋จ. ์ ํธ๋ฆฌ๋ทฐํธ๋ ํ์ค ์ ํธ๋ฆฌ๋ทฐํธ(.NET ํ๋ ์์ํฌ ์ ๊ณต)๊ณผ ์ฌ์ฉ์ ์ ์ ์ ํธ๋ฆฌ๋ทฐํธ๊ฐ ์๋ค. ๋จผ์ ํ์ค ์ ํธ๋ฆฌ๋ทฐํธ๋ฅผ ์์๋ณด์. ํ์ค ์ ํธ๋ฆฌ๋ทฐํธ - Conditional ์ ํธ๋ฆฌ๋ทฐํธ ์กฐ๊ฑด๋ถ ๋ฉ์๋๋ฅผ ์์ฑํ ๋ ์ฌ์ฉ define ์ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ ์กฐ๊ฑด์ ์ ํ๋ค. ๋ฐ๋์ System.dianostics๋ฅผ ๋ค์์คํ์ด์ค์ ํฌํจ์์ผ์ผ ํ๋ค. Conditional ์ ํธ๋ฆฌ๋ทฐํธ์ ์์ #define CSHARP using System; using System.Diagnostics; class ConditionalAttrApp { [Conditional("CS..
2020.11.27