数据结构二叉树前中后序遍历

先序遍历

先根节点——>左子节点——>右子节点

struct node{

int value;

struct node*left;

struct node*right;

}Node,*Nodept;

 

数据结构二叉树前中后序遍历_第1张图片

void preorderTraversal(Node *Bt)==vodi preorderTraversal(Nodept BT)

{

if(Bt)//if(BT)

{

printf("%d",(*Bt).value);//BT->value

preorderTraversal(BT->left);

preorderTraversal(BT->right);

}

}

先序遍历:ABDFECGHI

中序遍历

先访问左子节点->在访问根节点-访问右子节点

 

void InorderTraversal(Nodept BT)

{

if(BT)

{

InorderTraversal(BT->left);

printf("%d",BT->value);

InorderTraversal(BT->right);

}

}

中序遍历 :DBEFAGHCI

后序遍历

先访问左子节点—>再访问右子节点—>最后访问根节点

void PostOrderTraversal(Nodept BT)

{

if(BT)

{

PostOrderTraversal(BT->left);

PostOrderTraversal(BT->right);

printf("%d",BT->value);

}

}

后序遍历:DEFBHGICA

 

 

 

 

你可能感兴趣的:(C)