阅读量:124
在C++中,常见的树的遍历方法有三种:前序遍历、中序遍历和后序遍历。具体如下:
- 前序遍历(Preorder Traversal):遍历顺序为 根-左-右,即首先访问根节点,然后递归遍历左子树,最后递归遍历右子树。
void preorderTraversal(TreeNode* root) {
if (root == NULL) return;
cout << root>val << " ";
preorderTraversal(root->left);
preorderTraversal(root->right);
}
- 中序遍历(Inorder Traversal):遍历顺序为 左-根-右,即首先递归遍历左子树,然后访问根节点,最后递归遍历右子树。
void inorderTraversal(TreeNode* root) {
if (root == NULL) return;
inorderTraversal(root->left);
cout << root>val << " ";
inorderTraversal(root->right);
}
- 后序遍历(Postorder Traversal):遍历顺序为 左-右-根,即首先递归遍历左子树,然后递归遍历右子树,最后访问根节点。
void postorderTraversal(TreeNode* root) {
if (root == NULL) return;
postorderTraversal(root->left);
postorderTraversal(root->right);
cout << root>val << " ";
}
以上是树的三种常见的遍历方法,在实际应用中,可以根据具体问题的需求选择合适的遍历方法。