二叉树递归遍历

二叉树遍历

在这里插入图片描述

  1. 先序遍历:根左右
    结果:ABCDEFGH

  2. 中序遍历:左根右
    结果:BDCEAFHG

  3. 后续遍历:左右根
    结果:DECBHGFA

代码

#include <stdio.h>
#include <string.h>



typedef struct BINARYNODE
{
	char ch;
	struct BINARYNODE* left;
	struct BINARYNODE* right;

}BinaryNode;




void Recursion(BinaryNode* root)
{
	if(root==NULL) return;

//先序 
  printf("%c",root->ch);
	Recursion(root->left);
	Recursion(root->right);
	
//中序  
// Recursion(root->left);
// printf("%c",root->ch);
// Recursion(root->right);

//后序  
// Recursion(root->left);
// Recursion(root->right);
// printf("%c",root->ch);

}


int main(void)
{
    BinaryNode b1,b2,b3,b4,b5,b6,b7,b8;

	b1.ch = 'A'; b1.left = &b2; b1.right = &b3;
	b2.ch = 'B'; b2.left = NULL;b2.right = &b4;
	b3.ch = 'F'; b3.left = NULL;b3.right = &b5;
	b4.ch = 'C'; b4.left = &b6; b4.right = &b7;
	b5.ch = 'G'; b5.left = &b8; b5.right = NULL;
	b6.ch = 'D'; b6.left = NULL; b6.right = NULL;
	b7.ch = 'E'; b7.left = NULL; b7.right = NULL;
	b8.ch = 'H'; b8.left = NULL; b8.right = NULL;

	Recursion(&b1);


	return 0;
}

结果:
先序
在这里插入图片描述
中序
在这里插入图片描述
后序
在这里插入图片描述