
โ ์ค๋์ ์ง๋
1. ์๊ณ ๋ฆฌ์ฆ
- ์๊ณ ๋ฆฌ์ฆ์ ์ดํด
- ์๊ณ ๋ฆฌ์ฆ์ ํํ ๋ฐฉ๋ฒ
- ์๊ณ ๋ฆฌ์ฆ์ ์
2. ์๊ฐ ๋ณต์ก๋
- ๋น -์ค ํ๊ธฐ๋ฒ
- ๋น -์ธํ ํ๊ธฐ๋ฒ
- ๋น -์ค๋ฉ๊ฐ ํ๊ธฐ๋ฒ
3. ๋ฐฐ์ด
- ์ผ์ฐจ์ ๋ฐฐ์ด
- ๋ค์ฐจ์ ๋ฐฐ์ด
- ๋ฐฐ์ด๊ณผ ํฌ์ธํฐ
4. ํฌ์ธํฐ
- ํฌ์ธํฐ์ ์ฃผ์
- ํฌ์ธํฐ ์ฐ์ฐ
โ ์๊ณ ๋ฆฌ์ฆ
: ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ถ์ํํ์ฌ ๋จ๊ณ์ ์ ์ฐจ๋ฅผ ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ธฐ์ ํด ๋์ ๋ช ์ธ์
โ ์๊ณ ๋ฆฌ์ฆ์ ์กฐ๊ฑด
1. ์ ๋ ฅ(input)
: ์๊ณ ๋ฆฌ์ฆ ์ํ์ ํ์ํ ์๋ฃ๊ฐ ์ธ๋ถ์์ ์ ๋ ฅ์ผ๋ก ์ ๊ณต๋ ์ ์์ด์ผ ํ๋ค.
2. ์ถ๋ ฅ(output)
: ์๊ณ ๋ฆฌ์ฆ ์ํ ํ ํ๋ ์ด์์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํด์ผ ํ๋ค.
3. ๋ช
ํ์ฑ(definiteness)
: ์ํํ ์์ ์ ๋ด์ฉ๊ณผ ์์๋ฅผ ๋ํ๋ด๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ช ๋ น์ด๋ค์ ๋ช ํํ๊ฒ ๋ช ์ธ๋์ด์ผ ํ๋ค.
4. ์ ํ์ฑ(finiteness)
: ์๊ณ ๋ฆฌ์ฆ์ ์ํ ๋ค์ ๋ฐ๋์ ์ข ๋ฃ๋์ด์ผ ํ๋ค.
5. ํจ๊ณผ์ฑ(effectiveness)
: ์๊ณ ๋ฆฌ์ฆ์ ๋ชจ๋ ๋ช ๋ น์ด๋ค์ ๊ธฐ๋ณธ์ ์ด๋ฉฐ ์คํ์ด ๊ฐ๋ฅํด์ผ ํ๋ค.
โ ์๊ณ ๋ฆฌ์ฆ์ ํํ ๋ฐฉ๋ฒ
1. ์์ฐ์ด๋ฅผ ์ด์ฉํ ์์ ์ ๋ฐฉ๋ฒ
2. ์์๋(Flow chart)๋ฅผ ์ด์ฉํ ๋์ํ ํํ ๋ฐฉ๋ฒ
ex) 1 ~ 5๊น์ง์ ํฉ์ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ

3. ๊ฐ์์ฝ๋(Pseudo-code)๋ฅผ ์ด์ฉํ ์ถ์ํ ๋ฐฉ๋ฒ
1) ๊ฐ์์ฝ๋ = ์๊ณ ๋ฆฌ์ฆ ๊ธฐ์ ์ธ์ด (ADL, Algorithm Description Language) ๋ฅผ ์ฌ์ฉ
2) ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ผ๋ฐ์ ์ธ ํํ์ ์ ์ฌํ๊ฒ ์๊ณ ๋ฆฌ์ฆ ํํ
3) ํน์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ์๋๋ฏ๋ก ์ง์ ์คํ์ ๋ถ๊ฐ๋ฅ (But, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก์ ๋ณํ ์ฉ์ด!)
โก ๊ฐ์์ฝ๋์ ํ์
- ๊ธฐ๋ณธ์์
1) ๊ธฐํธเญ
− ๋ณ์, ์๋ฃํ ์ด๋ฆ, ํ๋ก๊ทธ๋จ ์ด๋ฆ, ๋ ์ฝ๋ ํ๋ ๋ช
, ๋ฌธ์ฅ์ ๋ ์ด๋ธ ๋ฑ
− ๋ฌธ์๋ ์ซ์์ ์กฐํฉ (๋ฌธ์๋ ๋ฐ๋์ ์๋ฌธ์)
2) ์๋ฃํ
− ์ ์ํ๊ณผ ์ค์ํ์ ์์น ์๋ฃํ, ๋ฌธ์ํ, ๋
ผ๋ฆฌํ, ํฌ์ธํฐ, ๋ฌธ์์ด ๋ฑ์ ๋ชจ๋ ์๋ฃํ
3) ์ฐ์ฐ์
− ์ฐ์ ์ฐ์ฐ์, ๊ด๊ณ์ฐ์ฐ์, ๋
ผ๋ฆฌ์ฐ์ฐ์
- ์ง์ ๋ฌธ ํ์๊ณผ ์
1) ํ์๋ณ์ โฌ ๊ฐ2) ์์a โฌ 5a โฌ 3 + 2a โฌ b
4. ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ด์ฉํ ๊ตฌ์ฒดํ ๋ฐฉ๋ฒ
โ ์๊ณ ๋ฆฌ์ฆ ํํ ๋ฐฉ๋ฒ (2)
โก ์กฐ๊ฑด๋ฌธ
์กฐ๊ฑด์ ๋ฐ๋ผ ์คํํ ๋ช ๋ น๋ฌธ์ด ๊ฒฐ์ ๋๋ ์ ํ์ ์ ์ด๊ตฌ์กฐ
1) ๋จ์ผ if๋ฌธ
์กฐ๊ฑด์์ด ์ฐธ์ด๋ฉด ๋ช ๋ น๋ฌธ 1 ์คํ
๊ฑฐ์ง์ด๋ฉด ๋ช ๋ น๋ฌธ 2 ์คํ
if (์กฐ๊ฑด์) then ๋ช ๋ น๋ฌธ 1;
else ๋ช ๋ น๋ฌธ 2;
์กฐ๊ฑด์์ด ์ฐธ์ด๋ฉด ๋ช ๋ น๋ฌธ 1 ์คํ
if (์กฐ๊ฑด์) then ๋ช ๋ น๋ฌธ 1;
2) ์ค์ฒฉ if ๋ฌธ
์กฐ๊ฑด์ 1์ด๋ผ๋ฉด ๋ช ๋ น๋ฌธ 1 ์คํ
์กฐ๊ฑด์ 1์ด ์๋๊ณ , ๋์์ ์กฐ๊ฑด์ 2๋ผ๋ฉด ๋ช ๋ น๋ฌธ 2 ์คํ
์กฐ๊ฑด์ 1๊ณผ 2๊ฐ ๋ชจ๋ ์๋๋ผ๋ฉด ๋ช ๋ น๋ฌธ 3 ์คํ
if(์กฐ๊ฑด์ 1) then ๋ช ๋ น๋ฌธ 1;
else if (์กฐ๊ฑด์ 2) then ๋ช ๋ น๋ฌธ 2;
else ๋ช ๋ น๋ฌธ 3;
3) case ๋ฌธ
case{
์กฐ๊ฑด์ 1 : ๋ช ๋ น๋ฌธ 1;
์กฐ๊ฑด์ 2 : ๋ช ๋ น๋ฌธ 2;
...
์กฐ๊ฑด์ n : ๋ช ๋ น๋ฌธ n;
else : ๋ช ๋ น๋ฌธ n+1;
}


โก ๋ฐ๋ณต๋ฌธ
์ผ์ ํ ๋ช ๋ น์ ๋ฐ๋ณต ์ํํ๋ ๋ฃจํ(loop) ํํ์ ์ ์ด๊ตฌ์กฐ
1) for ๋ฌธ
- ์ด๊น๊ฐ : ๋ฐ๋ณต๋ฌธ์ ์์ํ๋ ๊ฐ
- ์กฐ๊ฑด์ : ๋ฐ๋ณต ์ํ ์ฌ๋ถ๋ฅผ ๊ฒ์ฌํ๋ ์
- ์ฆ๊ฐ๊ฐ : ๋ฐ๋ณต ํ์๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํด ๋ฐ๋ณต๋ฌธ์ ํ๋ฒ ์ํํ ๋๋ง๋ค ์ฆ๊ฐ์ํค๋ ๊ฐ
for (์ด๊น๊ฐ; ์กฐ๊ฑด์; ์ฆ๊ฐ๊ฐ) do ๋ช ๋ น๋ฌธ;
2) while-do ๋ฌธ
์กฐ๊ฑด์์ด ์ฐธ์ด๋ฉด ๋ช ๋ น๋ฌธ ์คํ
while (์กฐ๊ฑด์) do ๋ช ๋ น๋ฌธ;
3) do-while๋ฌธ
์กฐ๊ฑด์๊ณผ ๊ด๊ณ์์ด ๋ช ๋ น๋ฌธ์ ์ผ๋จ ํ๋ฒ ์คํํ ํ,
์กฐ๊ฑด์์ด ๋ง์ผ๋ฉด ๊ณ์ํด์ ์คํ
do ๋ช ๋ น๋ฌธ;
while (์กฐ๊ฑด์);
โ ์๊ณ ๋ฆฌ์ฆ์ ์ฑ๋ฅ๋ถ์
โก ์๊ณ ๋ฆฌ์ฆ ์ฑ๋ฅ ๋ถ์ ๊ธฐ์ค
1. ์ ํ์ฑ : ์ฌ๋ฐ๋ฅธ ์๋ฃ ์
๋ ฅ ์ ์ ํํ ์๊ฐ ๋ด์ ์ฌ๋ฐ๋ฅธ ๊ฒฐ๊ณผ ์ถ๋ ฅ ์ฌ๋ถ
2. ๋ช
ํ์ฑ : ์๊ณ ๋ฆฌ์ฆ์ด ์ผ๋ง๋ ์ดํดํ๊ธฐ ์ฝ๊ณ ๋ช
ํํ๊ฒ ์์ฑ๋์๋๊ฐ?
3. ์ํ๋ : ์ผ๋ฐ์ ์ธ ์ฐ์ฐ์ ์ ์ธ, ์๊ณ ๋ฆฌ์ฆ์ ํน์ฑ์ ๋ํ๋ด๋ ์ค์ ์ฐ์ฐ์ ๋ชจ๋ ๋ถ์
4. ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ : ๋ช
๋ น์ด, ๋ณ์, ์
์ถ๋ ฅ ์๋ฃ์ ์ ๋ณด ์ ์ฅ
5 ์ต์ ์ฑ : ์์คํ
์ ์ฌ์ฉ ํ๊ฒฝ๊ณผ ์๊ตฌ ์ฌํญ์ด ๋ค๋ฅด๋ฏ๋ก ์กฐ๊ฑด์ ๋ง๋ ์ต์ ์ ์๊ณ ๋ฆฌ์ฆ ํ์
โก ์๊ณ ๋ฆฌ์ฆ ์ฑ๋ฅ ๋ถ์ ๋ฐฉ๋ฒ
1. ๊ณต๊ฐ ๋ณต์ก๋
- ์๊ณ ๋ฆฌ์ฆ์ ํ๋ก๊ทธ๋จ์ผ๋ก ์คํํ์ฌ ์๋ฃํ๊ธฐ๊น์ง ํ์ํ ์ด ์ ์ฅ ๊ณต๊ฐ์ ์
- ๊ณต๊ฐ๋ณต์ก๋ = ๊ณ ์ ๊ณต๊ฐ + ๊ฐ๋ณ ๊ณต๊ฐ
2. ์๊ฐ ๋ณต์ก๋
- ์๊ณ ๋ฆฌ์ฆ์ ํ๋ก๊ทธ๋จ์ผ๋ก ์คํํ์ฌ ์๋ฃํ๊ธฐ๊น์ง์ ์ด ์์์๊ฐ
- ์๊ฐ ๋ณต์ก๋ = ์ปดํ์ผ ์๊ฐ + ์คํ ์๊ฐ
1) ์ปดํ์ผ ์๊ฐ : ํ๋ก๊ทธ๋จ๋ง๋ค ๊ฑฐ์ ๊ณ ์ ์ ์ธ ์๊ฐ ์์
2) ์คํ ์๊ฐ : ์ค์ ์คํ์๊ฐ ๋ณด๋ค๋ ๋ช
๋ น๋ฌธ์ ์คํ ๋น๋์์ ๋ฐ๋ผ ๊ณ์ฐ
- ์คํ ๋น๋์์ ๊ณ์ฐ
: ํ๋์ ๋จ์์๊ฐ์ ๊ฐ๋ ๊ธฐ๋ณธ ๋ช
๋ น๋ฌธ์ผ๋ก ์ทจ๊ธ
โก ์๊ฐ ๋ณต์ก๋ ๊ณ์ฐ
ex) ํผ๋ณด๋์น ์์ด



ํ ๋ฒํธ | ์คํ ๋น๋์ | ํ ๋ฒํธ | ์คํ ๋น๋์ |
1 | 1 | 8 | n-1 |
2 | X | 9 | n-1 |
3 | 1 | 10 | n-1 |
4 | X | 11 | X |
5 | 1 | 12 | 1 |
6 | 1 | 13 | X |
7 | n |
์ด ์คํ ๋น๋ ์ = 1+1+1+1+n+n-1+n-1+n-1+1 = 4n+2
โ ์๊ณ ๋ฆฌ์ฆ ์ฑ๋ฅ ๋ถ์ ํ๊ธฐ๋ฒ
โก ๋น -์ค ํ๊ธฐ๋ฒ
: ํจ์์ ์ํ์ ๋ํ๋ด๊ธฐ ์ํ ํ๊ธฐ๋ฒ (์๋ฌด๋ฆฌ ๋ฆ์ด๋ ์ด ์์๋ ๋๋๋ค!!)
1. ์ํ์ ์ ์
: ํจ์ f(n)์ด ์ฃผ์ด์ก์ ๋, ๋ชจ๋ n≥ n0์ ๋ํ์ฌ |f(n)| ≤ c |g(n)|์ ๋ง์กฑํ๋ ์์ c์ n0์ด ์กด์ฌํ๋ฉด,
f(n) = O(g(n))์ด๋ค.
2. ๋น -์ค ๊ตฌํ๋ ๋ฐฉ๋ฒ
1) ์คํ ๋น๋์๋ฅผ ๊ตฌํ์ฌ ์คํ ์๊ฐ ํจ์๋ฅผ ์ฐพ๊ธฐ
2. ์ด ํจ์๊ฐ์ ๊ฐ์ฅ ํฐ ์ํฅ์ ์ฃผ๋ n์ ๋ํ ํญ์ ํ ๊ฐ ์ ํ
3. ๊ณ์๋ ์๋ตํ๊ณ O์ ์ค๋ฅธ์ชฝ ๊ดํธ ์์ ํ์
ex) ํผ๋ณด๋์น ์์ด์ ๊ฒฝ์ฐ 4n์ด์ง๋ง, 4๋ฅผ ์๋ตํ์ฌ O(n)์ผ๋ก ํ์ํจ
3. ๋น -์ค ํ๊ธฐ๋ฒ์ ์
1) f(n) = 3n + 2 = ?
(since 3n + 2 <= 4n for n > = 2)
n=1?
5 <= 4 (X)
n=2?
8 <= 8 (O)
c: 4, n0: 2, f(n) = O(n)
2) f(n) = 10n^2 + 4n + 2 = ?
(since 10n2 + 4n + 2 <= 11n^2 for n >= 5)
n=1?
16 <= 11 (X)
n=2?
50 <= 44 (X)
...
n = 5?
272 <= 275 (O)
c: 11, n0: 5, f(n) = O(n^2)
โก๋น - ์ค๋ฉ๊ฐ ํ๊ธฐ๋ฒ
: ํจ์์ ํํ์ ๋ํ๋ด๊ธฐ ์ํ ํ๊ธฐ๋ฒ ( Ω(f(n))๊ณผ ๊ฐ์ด ํ๊ธฐ )
1. ์ํ์ ์ ์
: ํจ์ f(n)์ด ์ฃผ์ด์ก์ ๋, ๋ชจ๋ n≥ n0์ ๋ํ์ฌ |f(n)| ≥ c |g(n)|์ ๋ง์กฑํ๋ ์์ c์ n0์ด ์กด์ฌํ๋ฉด,
f(n) = Ω(g(n))์ด๋ค.
โก๋น - ์ธํ ํ๊ธฐ๋ฒ
: ์ํ๊ณผ ํํ์ด ๊ฐ์ ์ ํํ ์ฐจ์๋ฅผ ํํํ๊ธฐ ์ํ ํ๊ธฐ๋ฒ ( θ(f(n))๊ณผ ๊ฐ์ด ํ๊ธฐ )
1. ์ํ์ ์ ์
: ํจ์ f(n)์ด ์ฃผ์ด์ก์ ๋, ๋ชจ๋ n≥ n0์ ๋ํ์ฌ c1|g(n)| ≤ f(n) ≤ c2|g(n)์ ๋ง์กฑํ๋
์์ c1, c2์ n0์ด ์กด์ฌํ๋ฉด, f(n) = θ(g(n))์ด๋ค.
๐ ์๊ฐ ๋ณต์ก๋๋ฅผ ์ ํํ ๊ณ์ฐํ ์ ์๋ค๋ฉด '๋น - ์ธํ' ์ฌ์ฉ
๐ ์๊ฐ ๋ณต์ก๋๋ฅผ ์ ํํ ๊ณ์ฌํ ์ ์๋ค๋ฉด '๋น - ์ค' ์ฌ์ฉ


โ ์ค๋์ ๊ณผ์
'๐ป Extracurricular > MENTORING' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ICON] C์ธ์ด ๋ฉํ ๋ง - 2์ฐจ์ (0) | 2022.05.17 |
---|---|
[SOS CLASS] ์๋ฃ๊ตฌ์กฐ๊ธฐ์ด - 4์ฐจ์ (0) | 2022.04.15 |
[SOS CLASS] ์๋ฃ๊ตฌ์กฐ๊ธฐ์ด - 3์ฐจ์ (0) | 2022.04.15 |
[ICON] C์ธ์ด ๋ฉํ ๋ง - 1์ฐจ์ (0) | 2022.04.05 |
[SOS CLASS] ์๋ฃ๊ตฌ์กฐ๊ธฐ์ด - 1์ฐจ์ (0) | 2022.03.31 |