前序遍历
定义:
若二叉树为空,遍历结束;否则,
1.访问根节点;
2.前序遍历根节点的左子树;
3.前序遍历根节点的右子树;
void PreOrderTree(node *Node)
{
if(Node==NULL)
return;
Display(Node->data);
PreOrderTree(Node->left);
PreOrderTree(Node->right);
}
中序遍历
定义:
若二叉树为空,遍历结束;否则,
1.中序遍历二叉树根节点的左子树;
2.访问跟节点;
3.中序遍历二叉树根节点的右子树;
void InOrderTree(node *Node)
{
if(Node==NULL)
return;
InOrderTree(Node->left);
Display(Node->data);
InOrderTree(Node->right);
}
后序遍历
定义:
若二叉树为空,遍历结束;否则,
1.后续遍历二叉树根节点的左子树;
2.后续遍历二叉树根节点的右子树;
3.访问根节点;
void PostOrderTree(node *Node)
{
if(Node==NULL)
return;
PostOrderTree(Node->right);
PostOrderTree(Node->left);
Display(Node->Data);
}