'''
재귀함수 처리 못하면 스택에 매개변수, 지역변수, 복귀주소 저장
'''
def DFS(x):
if x>0:
DFS(x-1)
print(x)
if __name__=="__main__":
DFS(3)
재귀함수를 dfs 방식으로 구현한 예시이다
'''
print root역할 , 위치에따라 순회 종류 결정됨
DFS(v*2)
print(v,end=' ') #중위순회
DFS(v*2+1)
DFS(v*2)
DFS(v*2+1)
print(v,end=' ') #후위순회 ex) 병합정렬
'''
def DFS(v):
if v>7:
return
else:
print(v,end=' ') #전위순회
DFS(v*2)
DFS(v*2+1)
if __name__=="__main__":
DFS(1)
print에 위치에따라 순회 종류가 결정된다.
print의 역할이 root 역할인데 print를 먼저 찍으면 전위순회, 가운데에 찍으면 중위순회, 마지막에 찍우면 후위순회 방식인것이다.
반응형
'BackEnd > 파이썬' 카테고리의 다른 글
[파이썬] 파이썬 formatting 방식 (0) | 2023.02.06 |
---|---|
[파이썬] 2차원 리스트 깊은복사 (0) | 2023.02.06 |
[파이썬] 파이썬으로 객체 지향 프로그래밍 구현 (0) | 2023.01.31 |
[파이썬] 파이썬 기본 문법 (0) | 2023.01.23 |
[파이썬] 파이썬 round 반올림 오류와 해결 방법 (0) | 2023.01.15 |
댓글