def DFS(v):
if v > 7:
return
else:
print(v, end= " ") #전위 순회
DFS(v*2) #왼쪽 자식노드 = 부모노드 * 2
DFS(v*2+1) #오른쪽 자식 노드 = 부모노드 *3
if __name__ == "__main__":
DFS(1)
- DFS(v*2) 왼쪽 노드부터 확인하며 왼쪽노드의 확인이 끝나면 오른쪽 노드의 확인을 시작한다.
- 이때 출력해주는 위치에 따라서 전위, 중위, 후위 순회가 바뀌게 된다.
'자료구조와 알고리즘 > 개인적인 코딩테스트 관련 풀이' 카테고리의 다른 글
[완전탐색][상태 트리] - 합이 같은 부분집합(DFS) (0) | 2022.07.22 |
---|---|
[완전탐색][상태 트리] - 부분집합 구하기(DFS) (0) | 2022.07.22 |
[완전탐색][재귀 함수와 스택] - 재귀 함수를 이용한 이진수 출력 (0) | 2022.07.21 |
[완전탐색][재귀함수와 스택] - 재귀함수와 스택 (0) | 2022.07.21 |
[자료구조 활용 ][스택, 큐, 해쉬, 힙] - 최소힙, 최대힙(힙, 힙) (0) | 2022.07.21 |