트리의 모든 노드를 한번씩 방문하여 모든 정보에 대한 선형 순서를 만들어 내는 방법을 알아보자
트리, 이진트리에 대해서는 이전글을 참고자도록 하자.
2016/10/18 - [Yame Programmer/자료구조&알고리즘] - 야매 개발자 자료구조 가이드[트리(tree)]
이진트리나 이진트리의 순회방법을 난 이제 알았는데 컴공 학생들은 2학년때 배운단다... 부럽...
순회방법에는 3가지가 있다.
1. 전위 순회(Preorder Traversal)
2. 중위 순회(Inorder Traversal)
3. 후위 순회(Postorder Traversal)
1. 전위 순회(Preorder Traversal)
<전위 순회의 탐색 순서 : A B D E C F G>
전위 순회의 특징은 루트 노드를 가장 먼저 탐색 한다.
루트 노드 부터 시작해 왼쪽 하위트리를 탐색하고 왼쪽 트리의 탐색이 끝나면 오른쪽 하위 트리를 탐색하는 방식 입니다.
2. 중위 순회(Inorder Traversal)
<중위 순회 탐색 순서 : D B E A F C G>
중위 순회의 특징은 루트노드가 탐색 순서의 중앙에 위치 합니다.
왼쪽 하위트리 부터 시작해 루트를 거쳐 오른쪽 하위 트리를 탐색 합니다.
3. 후위 순회(Postorder Traversal)
<후위 순회 탐색 순서 : D E B F G C A>
후위순위의 특징은 루트가 가장 마지막에 탐색 됩니다.
왼쪽 하위 트리에서 시작해 오른쪽 하위트리를 탐색하고 루트 노드를 탐색합니다.
구현된 코드를 참조하실분은
http://songeunjung92.tistory.com/29
http://marobiana.tistory.com/83
이분들의 포스팅을 참고하지면 좋을 것 같습니다.
'Yame Programmer > 자료구조&알고리즘' 카테고리의 다른 글
야매 개발자 자료구조 가이드[트리(tree)] (0) | 2016.10.18 |
---|---|
야매 개발자 알고리즘 가이드[이진 탐색(Binary Search)] (0) | 2016.10.18 |
야매 개발자 알고리즘 가이드[순차탐색(Sequential Search)] (0) | 2016.10.18 |
야매 개발자 알고리즘 퀵 정렬[Quick Sort] (6) | 2016.10.11 |