如何用C++递归算法实现树的遍历

   2024-09-29 8240
核心提示:在C++中,使用递归算法实现树的遍历有三种主要方法:前序遍历(Pre-order Traversal)、中序遍历(In-order Traversal)和后序遍

在C++中,使用递归算法实现树的遍历有三种主要方法:前序遍历(Pre-order Traversal)、中序遍历(In-order Traversal)和后序遍历(Post-order Traversal)。这里给出一个简单的二叉树结构以及相应的递归遍历实现。

首先,定义一个二叉树节点结构体:

struct TreeNode {    int val;    TreeNode *left;    TreeNode *right;    TreeNode(int x) : val(x), left(NULL), right(NULL) {}};

接下来,实现递归遍历:

前序遍历(Pre-order Traversal):根节点 -> 左子树 -> 右子树
void preOrderTraversal(TreeNode* root) {    if (root == NULL) {        return;    }    cout << root->val << " ";    preOrderTraversal(root->left);    preOrderTraversal(root->right);}
中序遍历(In-order Traversal):左子树 -> 根节点 -> 右子树
void inOrderTraversal(TreeNode* root) {    if (root == NULL) {        return;    }    inOrderTraversal(root->left);    cout << root->val << " ";    inOrderTraversal(root->right);}
后序遍历(Post-order Traversal):左子树 -> 右子树 -> 根节点
void postOrderTraversal(TreeNode* root) {    if (root == NULL) {        return;    }    postOrderTraversal(root->left);    postOrderTraversal(root->right);    cout << root->val << " ";}

以上代码中,我们使用了递归的方式实现了二叉树的前序、中序和后序遍历。在主函数中,可以创建一个二叉树并调用相应的遍历函数进行测试。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号