温馨提示×

C++ tree的遍历方法有哪些

c++
小樊
98
2024-08-13 11:47:37
栏目: 编程语言

在C++中,常见的树的遍历方法有三种:前序遍历、中序遍历和后序遍历。具体如下:

  1. 前序遍历(Preorder Traversal):遍历顺序为 根-左-右,即首先访问根节点,然后递归遍历左子树,最后递归遍历右子树。
void preorderTraversal(TreeNode* root) {
    if (root == NULL) return;
    
    cout << root->val << " ";
    preorderTraversal(root->left);
    preorderTraversal(root->right);
}
  1. 中序遍历(Inorder Traversal):遍历顺序为 左-根-右,即首先递归遍历左子树,然后访问根节点,最后递归遍历右子树。
void inorderTraversal(TreeNode* root) {
    if (root == NULL) return;
    
    inorderTraversal(root->left);
    cout << root->val << " ";
    inorderTraversal(root->right);
}
  1. 后序遍历(Postorder Traversal):遍历顺序为 左-右-根,即首先递归遍历左子树,然后递归遍历右子树,最后访问根节点。
void postorderTraversal(TreeNode* root) {
    if (root == NULL) return;
    
    postorderTraversal(root->left);
    postorderTraversal(root->right);
    cout << root->val << " ";
}

以上是树的三种常见的遍历方法,在实际应用中,可以根据具体问题的需求选择合适的遍历方法。

0