数据结构考研代码伪码总结
二叉树的递归遍历
1.前序遍历
void PerOrder(BiTree T){
BiTree p=T;
if(p){
visit(p);//访问节点并输出
PerOrder(p->lchild);//递归访问左子树
PerOrder(p->rchild);//递归访问右子树
}
}
2.中序遍历
void InOrder(BiTree T){
BiTree p=T;
if(p){
InOrder(p->lchild);//递归访问左子树
visit(p);//访问节点并输出
InOrder(p->rchild);//递归访问右子树
}
}
3.后序遍历
void PostOrder(BiTree T){
BiTree p=T;
if(p){
PostOrder(p->lchild);//递归访问左子树
PostOrder(p->rchild);//递归访问右子树
visit(p);//访问节点并输出
}
}
二叉树的非递归遍历
1.前序遍历
void preorder(BiTree T){
BiTree p=T;
InitStack(s);//初始化一个栈
while(p||!isEmpty(s)){
if(p){
//一路向左
visit(p);//访问根节点
push

本文总结了二叉树的递归与非递归遍历方法,包括前序、中序、后序及层次遍历,并探讨了二叉树自下而上的层次遍历解题思路。此外,还介绍了求解二叉树高度的递归与非递归算法,以及如何判断一棵树是否为完全二叉树的判断方法。
最低0.47元/天 解锁文章
1324

被折叠的 条评论
为什么被折叠?



