재귀함수와 스택
- 재귀함수가 돌 때 스택을 사용할 수 있는데 이를 어떻게 사용할 것인지를 살펴보자
#재귀함수와 스택
# 3 -> 2 -> 1 출력
def DFS(x):
if x>0:
print(x)
DFS(x-1)
# 1 -> 2 -> 3 출력
def DFS2(x):
if x>0:
DFS(x-1)
print(x)
if __name__=="__main__":
n = int(input())
DFS(n)
- 재귀 함수를 사용하면 stack 형태의 메모리에 해당 정보가 올라가게 되고 이때 맨 위에 있는 부분부터 처리를 해 마지막은 해당 재귀함수를 부른 곳에서 끝낸다.
'자료구조와 알고리즘 > 개인적인 코딩테스트 관련 풀이' 카테고리의 다른 글
[완전탐색][재귀 함수와 스택] - 트리 이진순회 (0) | 2022.07.21 |
---|---|
[완전탐색][재귀 함수와 스택] - 재귀 함수를 이용한 이진수 출력 (0) | 2022.07.21 |
[자료구조 활용 ][스택, 큐, 해쉬, 힙] - 최소힙, 최대힙(힙, 힙) (0) | 2022.07.21 |
[자료구조 활용][스택, 큐, 해쉬, 힙] - 애너그램(딕셔너리) (0) | 2022.07.21 |
[자료구조 활용 ][스택, 큐, 해쉬, 힙] - 단어찾기(딕셔너리) (0) | 2022.07.18 |