조건 1 - 적어도 하나의 Base Case, 즉, 순환되지 않고 종료되는 Case가 있어야한다.
조건 2 - 모든 Case는 결국 Base Case로 수렴해야 한다.
암시적(implicit) 매개변수를 쓰지 말고 명시적(explicit) 매개변수를 써라
예를 들어 순환 함수를 사용할 수 있는데 함수 내에서 그냥 for문을 돌렸다고 치자
def func(n, data, target):
~~
for i in range(n):
~~
이런 식으로 그런데 이때 data가 list인데 시작점이 어디인지 명시가 안되어 있다. 우리끼리 그냥 암시적(implicit)으로 index 0인 값부터 시작한다는 것을 알 뿐
그런데 recursion 함수를 짤 때는
def func_recur(start, end, data, target):
~~
이런식으로 순환 구간의 시작점을 start로 명시적(explicit)으로 지정하라는 말!
'CS > 알고리즘|자료구조' 카테고리의 다른 글
[Python|알고리즘] Sequential Search (0) | 2021.10.16 |
---|---|
[CS/알고리즘] 백트래킹/Backtracking (0) | 2021.10.15 |
[CS/자료구조] ChainHash, maxLoadFactor(λ_max) (0) | 2021.10.08 |
[CS/자료구조] Array를 이용한 스택과 큐의 시간 복잡도 (0) | 2021.10.07 |
[CS/자료구조] 고려해야 할 경계조건 5가지 (0) | 2021.10.06 |
댓글