[c++] 후위 순회(Postorder Traversal) 트리 순회 알고리즘
- 현재 노드의 왼쪽 서브트리를 방문합니다.
- 현재 노드의 오른쪽 서브트리를 방문합니다.
- 현재 노드를 방문합니다.
이 알고리즘의 재귀적인 방법을 사용하는 예시 코드는 아래와 같습니다.
#include <iostream>
using namespace std;
struct Node {
int data;
Node* left;
Node* right;
};
void postorderTraversal(Node* root) {
if (root == NULL) {
return;
}
postorderTraversal(root->left);
postorderTraversal(root->right);
cout << root->data << " ";
}
int main() {
Node* root = new Node{1, new Node{2, nullptr, nullptr}, new Node{3, nullptr, nullptr}};
postorderTraversal(root);
return 0;
}
위 예시 코드는 후위 순회 알고리즘을 사용하여 이진 트리를 순회하고, 각 노드의 값을 출력합니다.
참고문헌:
- Introduction to Algorithms, Thomas H. Cormen et al., The MIT Press, 2009