初次学习二叉树中的前、中、后序,浅画一下函数递归展开图,帮助自己理解一下。
例:
前序:
中序:
后序:
//前序
void PrevOrder(BTNode* root){
if (root == NULL){
printf("NULL ");
return;}
printf("%c ", root->data);
PrevOrder(root->left);
PrevOrder(root->right);
}
//中序
void InOrder(BTNode* root){
if (root == NULL){
printf("NULL ");
return;}
InOrder(root->left);
printf("%c ", root->data);
InOrder(root->right);
}
//后序
void PostOrder(BTNode* root){
if (root == NULL){
printf("NULL ");
return;}
PostOrder(root->left);
PostOrder(root->right);
printf("%c ", root->data);
}