二叉树是一种非线性结构,二叉树的遍历市按照某条搜索路径访问树中的每个节点,使得每个结点均被访问一次,而且仅被访问一次。
二、三种遍历算法递归遍历左、右子树的顺序都是固定的只是访问根节点的顺序不同,不管采用哪种遍历算法,每个节都被访问一次并且仅访问一次,时间复杂度为O(n)
最坏情况下,二叉树是有n个结点并且深度为n的单支树,遍历算法的空间复杂度为O(n)
根左右
void PreOrder(BiTree T){
if(T!=NULL){
visit(T);
PreOrder(T->Lchild);
PreOrder(T->Lchild);
}
}
1.2中序(根)遍历
左根右
void PreOrder(BiTree T){
if(T!=NULL){
PreOrder(T->Lchild);
visit(T);
PreOrder(T->Lchild);
}
}
1.3后序(根)遍历
左右根
void PreOrder(BiTree T){
if(T!=NULL){
PreOrder(T->Lchild);
PreOrder(T->Lchild);
visit(T);
}
}



