阅读量:0
在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 << " "; }
以上是树的三种常见的遍历方法,在实际应用中,可以根据具体问题的需求选择合适的遍历方法。