二叉树树的遍历算法之(递归算法) – (深度优先算法)
递归算法分为三种(前序,中序,后序)根据根节点的访问顺序来定的。
前序访问顺序 ( 根 – 左节点 – 右节点 )
中序访问顺序 ( 左节点 – 根 – 右节点 )
后序访问顺序 ( 左节点 – 右节点 – 根 )
#include <iostream>
struct BtreeNode{
int data;
BtreeNode* left;
BtreeNode* right;
};
class Solution{
public:
前序
void preorder(BtreeNode* root){
if(root == nullptr)
return;
std::cout << root->data<< " ";
preorder(root->left);
preorder(root->right);
}
中序
void inorder(BtreeNode* root){
if(root == nullptr)
return;
inorder(root->left);
std::cout << root->data<< " ";
inorder(root->right);
}
后序
void preorder(BtreeNode* root){
if(root == nullptr)
return;
preorder(root->left);
preorder(root->right);
std::cout << root->data<< " ";
}
};
}