先序遍历:从根节点开始,沿着二叉树外部逆时针遍历(根 左 右)
void preOrder(Node *root)
{
if(root)
{
cout << root->date << " ";
preOrder(root->left);
preOrder(root->right);
}
}
中序遍历 :二叉树横向看,总是先遍历靠左边的节点(左 根 右)
void inOrder(Node *root)
{
if(root)
{
inOrder(root->left);
cout << root->date << " ";
inOrder(root->right);
}
}
后序遍历:二叉树纵向看,总是先遍历靠下的节点(左 右 根)
void lastOrder(Node *root)
{
if(root)
{
lastOrder(root->left);
lastOrder(root->right);
cout << root->date << " ";
}
}
层序遍历:从上到下,从左到右遍历二叉树