[python] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต 1๊ถŒ :: 7์žฅ ์ •๋ฆฌ

7. ๋ถ„ํ•  ์ •๋ณต

7.1 ๋„์ž…

๋ถ„ํ•  ์ •๋ณต( Divide & Conquer)์€ ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋””์ž์ธ ํŒจ๋Ÿฌ๋‹ค์ž„์œผ๋กœ, ๊ฐ๊ฐœ ๊ฒฉํŒŒ๋ผ๊ณ  ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์Œ

์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ๋‘˜ ์ด์ƒ์˜ ๋ถ€๋ถ„ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆˆ ํ›„, ์žฌ๊ท€ ํ˜ธ์ถœ์„ ์ด์šฉํ•ด ๊ฐ๊ฐ์˜ ๋‹ต์„ ๊ณ„์‚ฐํ•˜๊ณ , ๋ถ€๋ถ„ ๋ฌธ์ œ์˜ ๋‹ต์„ ์ด์šฉํ•ด ์ „์ฒด์˜ ๋‹ต์„ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ์‹

 

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌ์„ฑ

  • divide

    ๋ฌธ์ œ๋ฅผ ๋” ์ž‘์€ ๋ฌธ์ œ๋กœ ๋ถ„ํ• 

  • merge

    ๊ฐ ๋ฌธ์ œ์˜ ๋‹ต์„ ์ „์ฒด ๋ฌธ์ œ์˜ ๋‹ต์œผ๋กœ ๋ณ‘ํ•ฉ

  • base case

    ๋”์ด์ƒ ๋‹ต์„ ๋ถ„ํ• ํ•˜์ง€ ์•Š๊ณ  ํ’€ ์ˆ˜ ์žˆ๋Š” ๋งค์šฐ ์ž‘์€ ๋ฌธ์ œ

 

์ ์šฉ๊ฐ€๋Šฅํ•œ ๋ฌธ์ œ์˜ ํŠน์„ฑ

  • ๋ฌธ์ œ๋ฅผ ๋ถ€๋ถ„ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„๋Š” ์ž์—ฐ์Šค๋Ÿฌ์šด ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•ด์•ผํ•จ
  • ๋ถ€๋ถ„ ๋ฌธ์ œ์˜ ๋‹ต์„ ์กฐํ•ฉํ•ด ์ „์ฒด ๋ฌธ์ œ์˜ ๋‹ต์„ ๊ณ„์‚ฐํ•˜๋Š” ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์ด ์žˆ์–ด์•ผํ•จ

 

์žฅ์ 

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ์—์„œ ์ž‘์—…์„ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•ด์คŒ

 

์˜ˆ์ œ : ์ˆ˜์—ด์˜ ๋น ๋ฅธ ํ•ฉ๊ณผ ํ–‰๋ ฌ์˜ ๋น ๋ฅธ ์ œ๊ณฑ

1์—์„œ n๊นŒ์ง€์˜ ํ•ฉ์„ ๊ณ„์‚ฐ

  1. ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ด์šฉ

    def Sum(num):
        if num == 1:
            return 1
        return num+Sum(num-1)
  2. ๋ถ„ํ•  ์ •๋ณต ์ด์šฉ

    1~n์˜ ํ•ฉ์€ 1~2/n์˜ ํ•ฉ์—๋‹ค๊ฐ€ 2/n~n์˜ ํ•ฉ์„ ๋”ํ•œ ๊ฒƒ๊ณผ ๊ฐ™์Œ

    2/n~n์˜ ํ•ฉ์€ 1~2/n์˜ ํ•ฉ + 2/n*2/n ์ด๋ฏ€๋กœ ํ•œ๋ฒˆ์˜ ์žฌ๊ท€๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Œ

    def Sum(num):
        if num == 1: # ์ง์ˆ˜์ผ ๋•Œ 2/n ํ•˜๋‹ค๋ณด๋ฉด ๋„๋‹ฌ
            return 1
        if num%2 == 1 : # ํ™€์ˆ˜์ผ ๋•Œ๋Š”
            return Sum(n-1)+n
        return Sum(2/n)+(2/n)*(2/n)
๋ฌด์—‡์ด ๋” ๋‚˜์„๊นŒ?

์žฌ๊ท€๋Š” n๋ฒˆ์˜ ํ•จ์ˆ˜ ํ˜ธ์ถœ์ด ํ•„์š”

๋ถ„ํ• ์ •๋ณต์€ 2/n๋ณด๋‹ค ์•ฝ๊ฐ„ ํฐ ์ˆ˜์˜ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์˜ˆ์ƒ

๋ถ„ํ• ์ •๋ณต์—์„œ ํ๋ฆ„์„ ๊ธ€๋กœ ๋‚˜ํƒ€๋‚ด๋ณด๋ฉด

  1. ํ™€์ˆ˜์ธ ๊ฒฝ์šฐ์—๋Š” ํ˜„์žฌ ์ˆ˜+ ์žฌ๊ท€(ํ˜„์žฌ ์ˆ˜์—์„œ 1์„ ๋บ€ ์ง์ˆ˜)
  2. ์ง์ˆ˜์ธ ๊ฒฝ์šฐ์—๋Š” ์žฌ๊ท€(ํ˜„์žฌ ์ˆ˜๋ฅผ 2๋กœ ๋‚˜๋ˆˆ ์ง์ˆ˜)+์ƒ์ˆ˜

์ด๋ฏ€๋กœ ์žฌ๊ท€๋กœ ๋„˜์–ด๊ฐ€๋Š” n์€ ๊ฐ๊ฐ

  1. 1์„ ๋บ€๋‹ค.
  2. 2๋กœ ๋‚˜๋ˆˆ๋‹ค.

์ด๋‹ค.

 

์ด๋ฅผ 2์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•ด๋ณด๋ฉด, ์–ด๋–ค ์ˆ˜ N์˜ ์ด์ง„์ˆ˜ ํ‘œํ˜„ ๋์ž๋ฆฌ๊ฐ€ 1์ธ ๊ฒฝ์šฐ๋Š” ํ™€์ˆ˜์ด๋ฏ€๋กœ ๋์ž๋ฆฌ๋ฅผ 0์œผ๋กœ ๋ฐ”๊พธ๊ฒŒ ๋งŒ๋“ค๊ณ  0์ธ ๊ฒฝ์šฐ๋Š” ์ง์ˆ˜์ด๋ฏ€๋กœ ๋์ž๋ฆฌ ํ•˜๋‚˜๋ฅผ ์ง€์šฐ๋Š” ๊ฒƒ์ด ์žฌ๊ท€๋กœ ๋„˜๊ธฐ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ด์— ๋”ํ•ด ํ˜„์žฌ ์ˆ˜์™€ ์ƒ์ˆ˜๊ฐ€ ๊ฐ๊ฐ ๋ถ™์ง€๋งŒ ํ•จ์ˆ˜๊ฐ€ ๋ช‡ ๋ฒˆ ์‹คํ–‰๋  ์ง€๋งŒ ๋”ฐ์ง€๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

2์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ–ˆ์„ ๋•Œ ์ž๋ฆฌ ์ˆ˜ + ์ฒซ ์ž๋ฆฌ๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋‚˜ํƒ€๋‚˜๋Š” 1์˜ ๊ฐœ์ˆ˜๊ฐ€ ํ•จ์ˆ˜์˜ ์ด ํ˜ธ์ถœ ํšŸ์ˆ˜์ด๋‹ค.

๋‘ ๊ฐ’์˜ ์ƒํ•œ์€ ๋ชจ๋‘ logn์ด๋‹ค.

logn = log(2)n

๋”ฐ๋ผ์„œ ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์‹คํ–‰์‹œ๊ฐ„์€ O(logn)์ด๋‹ค.

 

ํ–‰๋ ฌ์˜ ๊ฑฐ๋“ญ ์ œ๊ณฑ

ํ–‰๋ ฌ์˜ ๊ฑฐ๋“ญ ์ œ๊ณฑ์„ ๊ทธ๋ƒฅ ๊ณ„์‚ฐํ•˜๋ ค๊ณ  ๊ตฌํ˜„ํ•˜๋ฉด n*n ํ–‰๋ ฌ์˜ m์Šน ๊ฑฐ๋“ญ์ œ๊ณฑ์„ ๊ตฌํ•˜๋Š”๋ฐ์— O(n^3*m) ์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค.

๋ถ„ํ•  ์ •๋ณต์„ ์ด์šฉํ•ด๋ณด์ž.

์ ˆ๋ฐ˜์œผ๋กœ ์ž˜๋ผ์„œ A์˜ m์Šน์„ (A์˜ m/2์Šน)*(A์˜ m/2์Šน) ์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

matrix # 2์ฐจ์› ํ–‰๋ ฌ

def pow(matrix, m): # matrix์˜ m์Šน์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜
    if m==0 # ๊ธฐ์ € ์‚ฌ๋ก€ : A์˜ 0์Šน
        return 1
    if m%2==1: # ํ™€์ˆ˜์ผ ๋•Œ
        return pow(matrix,m-1)*matrix
    half = pow(matrix,m/2)
    return half*half

 

๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š์„ ๋•Œ์˜ ๋ถ„ํ• ๊ณผ ์‹œ๊ฐ„ ๋ณต์žก๋„

m์ด ํ™€์ˆ˜์ผ ๋•Œ matrix*์žฌ๊ท€(m-1) ๋ณด๋‹ค ์žฌ๊ท€(m-1/2)*์žฌ๊ท€(m+1/2) ์ด๋ ‡๊ฒŒ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด ๋” ๋‚ซ์ง€ ์•Š์„๊นŒ?

์ค‘๋ณตํ•ด์„œ ๊ณ„์‚ฐ๋˜๋Š” ๋ถ€๋ถ„์ด ์žˆ์Œ

๋ถ€๋ถ„ ๋ฌธ์ œ๊ฐ€ ์ค‘๋ณต๋˜๋Š” ๋ฌธ์ œ๋Š” ๊ณ„์† ๋‹ค๋ค„์งˆ ๊ฒƒ์ž„!

 

์˜ˆ์ œ: ๋ณ‘ํ•ฉ ์ •๋ ฌ๊ณผ ํ€ต ์ •๋ ฌ

  • ๋ณ‘ํ•ฉ ์ •๋ ฌ : ์ฃผ์–ด์ง„ ์ˆ˜์—ด์„ ๊ฐ€์šด๋ฐ์—์„œ ์ชผ๊ฐœ ์ด๋“ค์„ ์žฌ๊ท€ ํ˜ธ์ถœ์„ ์ด์šฉํ•ด ๊ฐ๊ฐ ์ •๋ ฌ
  • ํ€ต ์ •๋ ฌ : ์ฃผ์–ด์ง„ ์ˆ˜์—ด์„ ํŒŒํ‹ฐ์…˜ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ํ•˜๋‚˜์˜ ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์–‘์ชฝ ์ˆ˜์—ด๋กœ ๋‚˜๋ˆ„๋Š” ๋ฐฉ์‹์œผ๋กœ ์ •๋ ฌ

๋‘˜๋‹ค ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฐ™์€ ํŒจ๋Ÿฌ๋‹ค์ž„(๋ถ„ํ•  ์ •๋ณต ํŒจ๋Ÿฌ๋‹ค์ž„)์„ ์ด์šฉํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด์ง€๋งŒ, ์„œ๋กœ ๋‹ค๋ฅด๋‹ค.

 

์‹œ๊ฐ„ ๋ณต์žก๋„ ๋ถ„์„
  • ๋ณ‘ํ•ฉ ์ •๋ ฌ

    ๋ณ‘ํ•ฉ ์ •๋ ฌ์—์„œ๋Š” ๋‚˜๋‰˜์–ด์ง„ ๋ถ€๋ถ„ ๋ฌธ์ œ์—์„œ ํ•ด๋‹ต์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰๋œ๋‹ค. ํ•˜๋‚˜์˜ ์›์†Œ๋ฅผ ๊ฐ€์ง„ ์ˆ˜์—ด์œผ๋กœ ๋‹ค ๋‚˜๋ˆ„์–ด์ง„ ๋‹จ๊ณ„ ์ดํ›„๋ถ€ํ„ฐ๋Š” ๋ณ‘ํ•ฉ ๋‹จ๊ณ„์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ ์ˆ˜์—ด์˜ ๋ชจ๋“  ์›์†Œ๋ฅผ ๊ฑฐ์ณ์„œ ํฌ๊ธฐ ๋น„๊ต ํ›„ ์‚ฝ์ž…ํ•ด์•ผํ•˜๋Š”๋ฐ, ๋ชจ๋“  ์›์†Œ๋ฅผ ๊ฑฐ์น˜๋Š” ๊ณผ์ •์ด n๋ฒˆ์œผ๋กœ ํ•ญ์ƒ ๊ฐ™๋‹ค. ์ฆ‰, ๊ฐ ๋‹จ๊ณ„(๊ทธ๋ฆผ์—์„œ ํ‘œํ˜„๋œ ๊ฐ€๋กœ์ค„)๋Š” ํ•ญ์ƒ ๊ฐ™์€ ์›์†Œ์˜ ์ˆ˜๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ n๊ฐœ์˜ ์›์†Œ๋ฅผ ํ•ฉ์น˜๋Š”๋ฐ์—๋Š” logn ๋งŒํผ์˜ ๋‹จ๊ณ„์—์„œ n๋งŒํผ์˜ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฉด์„œ ์ •๋ ฌํ•ด์•ผํ•˜๋ฏ€๋กœ, ๋ณ‘ํ•ฉ ์ •๋ ฌ์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(nlogn)์ด๋‹ค.

  • ํ€ต ์ •๋ ฌ

    ํ€ต ์ •๋ ฌ์˜ ํŒŒํ‹ฐ์…˜ ๊ณผ์ •์€ ๋ณ‘ํ•ฉ ์ •๋ ฌ์˜ ๋ณ‘ํ•ฉ ๊ณผ์ •๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ, ๋‘ ์ˆ˜์—ด์ด ๋น„์Šทํ•œ ํฌ๊ธฐ๋กœ ๋‚˜๋ˆ ์ง„๋‹ค๋Š” ๋ณด์žฅ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ํž˜๋“ค๋‹ค. ๋”ฐ๋ผ์„œ ์ตœ์•…์˜ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ๋‚˜์˜ค๋Š” ์ƒํ™ฉ์„ ๋ณด๋ฉด, ๊ธฐ์ค€์œผ๋กœ ํ•œ ์ˆ˜๊ฐ€ ์ตœ๋Œ€๋‚˜ ์ตœ์†Œ์˜ ์ˆ˜์ผ ๋•Œ์ด๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ ํ€ต์ •๋ ฌ์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(n^2)์ด๋‹ค. ํ•˜์ง€๋งŒ ํ‰๊ท ์ ์œผ๋กœ ๊ณ„์‚ฐํ•˜๋ฉด ๋ณ‘ํ•ฉ์ •๋ ฌ๊ณผ ๊ฐ™์€ O(nlogn)์ด ๋œ๋‹ค๋Š” ๊ฒƒ์ด ์•Œ๋ ค์ ธ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ€ต ์ •๋ ฌ์„ ๊ตฌํ˜„ํ•  ๋•Œ๋Š” ๊ฐ€๋Šฅํ•œ ์ ˆ๋ฐ˜์— ๊ฐ€๊นŒ์šด ๋ถ„ํ• ์„ ์–ป๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.

์˜ˆ์ œ: ์นด๋ผ์ธ ๋ฐ”์˜ ๋น ๋ฅธ ๊ณฑ์…ˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜

: ๋ถ„ํ•  ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํ•œ ์˜ˆ

๋‘ ๊ฐœ์˜ ํฐ ์ •์ˆ˜๋ฅผ ๊ณฑํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

  1. ๋‹จ์ˆœ ์•Œ๊ณ ๋ฆฌ์ฆ˜

์ด๋Ÿฌํ•œ ์ดˆ๋“ฑํ•™๊ต ๋•Œ ์ผ๋˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ทธ๋Œ€๋กœ ๊ตฌํ˜„ํ–ˆ์„ ๋•Œ, ํฐ ์ˆ˜๊ฐ€ ๋‹ด๊ฒจ์žˆ๋Š” ๋ฐฐ์—ด์„ 2์ค‘ for๋ฌธ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผํ•˜๋ฏ€๋กœ O(N^2)์˜ ๋ณต์žก๋„๊ฐ€ ๋‚˜์˜จ๋‹ค.

  1. ์นด๋ผ์ธ ๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜

ํฐ ์ˆ˜๊ฐ€ 2๊ฐœ๋ฅผ ๋ฐ˜ ์”ฉ ์ž๋ฆฌ์ˆ˜๋ฅผ ๋‚˜๋ˆ„์–ด์„œ ํ‘œํ˜„

a1 = ์•ž์˜ 128์ž๋ฆฌ, a0 = ๋’ค์˜ 128์ž๋ฆฌ

 

์ด๋Ÿฐ ํ‘œํ˜„ ๋ฐฉ์‹์œผ๋กœ a*b๋ฅผ ํ‘œํ˜„ํ•˜๋ฉด

์ด๋ ‡๊ฒŒ a0,a1,b0,b1 ๋„ค ๊ฐ€์ง€์˜ ์กฐ๊ฐ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋•Œ๋Š” ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ O(N^2)์œผ๋กœ ๊ฐ™๋‹ค. ์ด๋ฅผ 3๊ฐ€์ง€๋กœ ๋ญ‰์ณ์„œ z0,z1,z2 ์„ธ๊ฐ€์ง€ ์กฐ๊ฐ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์‹œ๊ฐ„ ๋ณต์žก๋„์—์„œ์˜ ํšจ์œจ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

z1์„ (a0+a1)*(b0+b1)-z0-z2 ๋กœ ํ‘œํ˜„ํ•œ๋‹ค๋ฉด ๊ณฑ์…ˆ ์„ธ ๊ฐœ๋กœ ์„ธ ์กฐ๊ฐ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ๋‚ฎ์•„์ง„๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜
  1. a, b๋ฅผ ๋ฐ›๋Š”๋‹ค. (๋” ํฐ ์ˆ˜๋ฅผ a๋กœ ๋‘”๋‹ค.)
  2. O(n^2)์˜ ์ผ๋ฐ˜์  ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ•ด๋„ ๊ดœ์ฐฎ์„ ์ž…๋ ฅ ๋ฒ”์œ„๋ฉด, ๊ธฐ๋ณธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ณ„์‚ฐํ•ด์„œ return ํ•œ๋‹ค.
  3. a์™€ b๋ฅผ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ ์„œ a0,a1,b0,b1์„ ๋งŒ๋“ ๋‹ค.
  4. 3๋ฒˆ์—์„œ์˜ ๋„ค ๊ฐ€์ง€ ๋ณ€์ˆ˜๋กœ z0,z1,z2๋ฅผ ๋งŒ๋“ ๋‹ค. (์žฌ๊ท€ ํ•จ์ˆ˜ ์ด์šฉ)
  5. ์„ธ ๊ฐ€์ง€ ๋ณ€์ˆ˜๋กœ ๋งˆ์ง€๋ง‰ ์‹์„ ๋งŒ๋“ค์–ด์„œ return ํ•œ๋‹ค.
์‹œ๊ฐ„ ๋ณต์žก๋„

n = 2^k ์ผ ๋•Œ, k๋ฒˆ ์žฌ๊ท€ ํ˜ธ์ถœ ํ•˜๋ฉด์„œ ๋งˆ์ง€๋ง‰์— 3๋ฒˆ์˜ ๊ณฑ์…ˆ ํ•„์š”

์ด 3^k๋ฒˆ์˜ ๊ณฑ์…ˆ ํ•„์š” => 3^(lgn)

O(3^(logn))=O(n^(log3))

log3์€ 1.585 ์ •๋„์ด๋ฏ€๋กœ n^2๋ณด๋‹ค ์ ์€ ์‹œ๊ฐ„๋ณต์žก๋„์ž„

*์ฃผ์˜ : ์ž…๋ ฅ์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ๊ฒฝ์šฐ O(n^2)๋ณด๋‹ค ๋Š๋ฆด ์ˆ˜ ์žˆ์Œ

๋ฐ˜์‘ํ˜•