이진트리를 방문하는 방법 - preorder - inorder - postorder
(보기) 아래 이진 트리의 노드를 한 번씩 방문하고자 할 때 만들 수 있는 경우는 몇가지가 있는가?
(풀이) 총 6 가지(3!) 경우가 나올 수 있다.
만약 항상 좌측 , 우측순으로 방문하게 끔 약속(즉 b ,c 순으로)이 되어 있다면 아래 세가지 경우가 나올수 있다.
- a b c
- a c b
- b a c
- b c a
- c a b
- c b a
- a b c
- b a c
- b c a
이 세 가지 방법으로 이진 트리의 방문을 약속하여 사용한다.
- 첫 번째 방법(a b c)은 루트 노드를 먼저 방문하고 왼쪽 , 오른쪽 순으로 방문하고 -- preorder
- 두 번째 방법(b a c)은 왼쪽 아들을 먼저 방문하고 루트노드를 방문하고 오른쪽 아들을 방문하고 --inorder
- 세 번째 방법(b c a)은 왼쪽 아들을 먼저 방문하고 오른쪽 아들을 방문하고 루트노드를 가장 나중 --postorder
이진 트리를 방문하는 방법
- preorder
- 루트방문 ( 왼쪽 서브 트리 )(오른쪽 서브 트리)
- inorder
- ( 왼쪽 서브 트리 )루트방문(오른쪽 서브 트리)
- postorder
- (왼쪽 서브 트리 )(오른쪽 서브 트리) 루트방문