๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“š ์ „๊ณต ๊ณต๋ถ€/์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•ด์„ ๋ฐ ์„ค๊ณ„

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ ํ™”์‹์˜ ์ดํ•ด(recurrence relation)

by xxilliant 2023. 1. 16.
728x90
๋ฐ˜์‘ํ˜•

์ ํ™”์‹

  • ์ˆ˜์—ด์˜ ๊ท€๋‚ฉ์  ์ •์˜์™€ ์œ ์‚ฌ
  • ์ฐจ์ด : ์ธ์ ‘ํ•œ ํ•ญ๊ฐ„์˜ ๊ด€๊ณ„๋งŒ์„ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.
  • ์–ด๋–ค ํ•จ์ˆ˜๋ฅผ ์ž์‹ ๋ณด๋‹ค ๋” ์ž‘์€ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ํ•จ์ˆ˜ ์ž์‹ ๊ณผ์˜ ๊ด€๊ณ„๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ. (์ˆ˜์—ด = ์ •์˜์—ญ์ด ์ •์ˆ˜์ธ ํ•จ์ˆ˜)
  • ๋˜๋ถ€๋ฆ„, ํ˜น์€ ์œ ์‚ฌํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ๊ตฌํ•˜๋Š”๋ฐ์— ์‚ฌ์šฉํ•จ
    • ex) T(n) = T(n-1) + 1 + T(n-1) = 2T(n-1) + 1
    • An = T(n), An = 2A(n-1) + 1

 

 

์ ํ™”์‹์„ ํ‘ธ๋Š” ๋ฒ•

 

1. ๋ฐ˜๋ณต ๋Œ€์น˜ : ์ฃผ์–ด์ง„ ์กฐ๊ฑด์„ ์ด์šฉํ•˜์—ฌ ์ ์  ์ž‘์€ ํ•จ์ˆ˜๋กœ ๋ฐ˜๋ณตํ•ด์„œ ๋Œ€์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•. ์นจ์ฐฉํ•˜๊ฒŒ ๊ผผ๊ผผํžˆ!

2. ์ถ”์ • ํ›„ ์ฆ๋ช… : ์ ํ™”์‹์˜ ๊ฒฐ๋ก ์„ ์ถ”์ •ํ•˜๊ณ , ๊ท€๋‚ฉ๋ฒ•์œผ๋กœ ์ฆ๋ช…ํ•จ. ๋ฐ˜๋ณต ๋Œ€์น˜๊ฐ€ ๋ณต์žกํ•  ๋•Œ ์œ ์šฉํ•จ. but ์ถ”์ •์ด ์‰ฝ์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Œ

3. ๋งˆ์Šคํ„ฐ ์ •๋ฆฌ : ์ ํ™”์‹ ๊ณต์‹. ์—ฌ๊ธฐ์—์„œ๋Š” ๋‹ค๋ฃจ์ง€ ์•Š๋Š”๋‹ค.

 

 

๋ฐ˜๋ณต ๋Œ€์น˜

 

์˜ˆ์‹œ 1

T(n) = T(n-1) + n, T(1) = 1 ์ผ๋•Œ,

T(n) = T(n-1) + n = T(n-2) + n-1 + n = T(n-3) + n-2 + n-1 + n

  = … = T(1) + 2 + 3 + … + n

= n(n+1)/2 = Θ(n^2)

 

 

์˜ˆ์‹œ 2

T(n) = 2T(n/2) + n, T(1) = 1 ์ผ๋•Œ,

→ n = 2^k (k = log2 n) ์ด๋ผ๊ณ  ๊ฐ€์ •.

 

T(n) = 2T(n/2) + n

= 2{ 2T(n/4) + n/2 } + n

= … = 2^kT(n/2^k) + kn

 

→ ์—ฌ๊ธฐ์„œ T(1)์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด k=log n (๋ฐ‘=2) ๋Œ€์ž…ํ•˜๋ฉด nT(1) + nlog n = n*log n + n

( n log n <= n log n + n <= 2n log n )

= Θ(n log n)

 

 

์ถ”์ • ํ›„ ์ฆ๋ช…

 

T(n) = 2T(n/2) + n

 

์ถ”์ • : T(n) = O(n log n), ์ฆ‰ T(n) ≤ cn log n ์ด๋ผ๊ณ  ์ถ”์ •ํ•œ๋‹ค.

2T(n/2) + n ≤ cn log n

 

์ฆ๋ช… :

T(n) = 2T(n/2) + n ≤ 2c(n/2)log(n/2) + n [ โˆต T(n/2) ≤ c(n/2)log(n/2) ]

= cn log (n/2) + n = cn log n + n - cn log 2 ≤ cn log n

728x90
๋ฐ˜์‘ํ˜•