首页 > 栏目 > 二叉树的先序,中序,后序遍历代码

二叉树的先序,中序,后序遍历代码

二叉树是一种常见的数据结构,它由根节点和若干个子树构成,每个子树也是一棵二叉树。二叉树的遍历是指按照一定的顺序依次访问二叉树中的所有节点。常见的遍历方式有先序遍历、中序遍历和后序遍历。以下是三种遍历方式的代码实现。

先序遍历:

void preorderTraversal(TreeNode* root) {

if (root == nullptr) return;

cout << root->val << ' '; // 访问根节点

preorderTraversal(root->left); // 递归遍历左子树

preorderTraversal(root->right); // 递归遍历右子树

}

中序遍历:

void inorderTraversal(TreeNode* root) {

if (root == nullptr) return;

inorderTraversal(root->left); // 递归遍历左子树

cout << root->val << ' '; // 访问根节点

inorderTraversal(root->right); // 递归遍历右子树

}

后序遍历:

void postorderTraversal(TreeNode* root) {

if (root == nullptr) return;

postorderTraversal(root->left); // 递归遍历左子树

postorderTraversal(root->right); // 递归遍历右子树

cout << root->val << ' '; // 访问根节点

}

以上代码实现了三种二叉树遍历方式,它们的核心思想都是使用递归的方式依次访问二叉树中的所有节点。在实际应用中,我们可以根据具体的需求选择适合的遍历方式。

高速下载

热门音效 更多>

随机推荐 更多>