์ฌ๊ท ์ฉ๋ฒ(recursive call) ?
- ํจ์ ์์์ ๋์ผํ ํจ์๋ฅผ ํธ์ถํ๋ ํํ
- ์ฌ๋ฌ ์๊ณ ๋ฆฌ์ฆ์์ ์ฌ์ฉ
์ฌ๊ทํธ์ถ์ ์ผ๋ฐ์ ์ธ ํํ
- ๋ด๋ถ์ ์ผ๋ก ์คํ(Stack)์ฒ๋ผ ๊ด๋ฆฌ๋๋ค
#case1
def function(์
๋ ฅ):
if ์
๋ ฅ > ์ผ์ ๊ฐ: # ์
๋ ฅ์ด ์ผ์ ๊ฐ ์ด์์ด๋ฉด
return function(์
๋ ฅ - 1) # ์
๋ ฅ ๊ฐ๋ณด๋ค ์์ ๊ฐ
else:
return ์ผ์ ๊ฐ, ์
๋ ฅ ๊ฐ, ๋๋ ํน์ ๊ฐ # ์ฌ๊ทํธ์ถ ์ข
๋ฃ
#case2
def function(์
๋ ฅ):
if ์
๋ ฅ <= ์ผ์ ๊ฐ: # ์
๋ ฅ์ด ์ผ์ ๊ฐ๋ณด๋ค ์์ผ๋ฉด
return ์ผ์ ๊ฐ, ์
๋ ฅ ๊ฐ, ๋๋ ํน์ ๊ฐ # ์ฌ๊ทํธ์ถ ์ข
๋ฃ
funtion(์
๋ ฅ๋ณด๋ค ์์ ๊ฐ)
return ๊ฒฐ๊ณผ ๊ฐ
'์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algorithm] ํต ์ ๋ ฌ(Quick Sort) (0) | 2024.02.05 |
---|---|
๋์ ๊ณํ๋ฒ( Dynamic Programming) ๊ณผ ๋ถํ ์ ๋ณต(Divide Conquer) (0) | 2024.02.05 |
[Algorithm] ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ (Sort Algorithm) (1) | 2024.01.30 |
[Data Structure] ํ (Heap)์ ๊ตฌํ - ํ๊ณผ ๋ฐฐ์ด (1) | 2024.01.30 |
[Data Structure] ํ (Heap) (0) | 2024.01.29 |