注:树的内容非常重要,树是一种递归结构,注意递归遍历和非递归遍历都要会。
第五章 树与二叉树
5.1 二叉树
typedef struct BiTNode { //链式二叉树定义
ElemType data; //数据域
struct BiTNode *lchild, *rchild; //左、右孩子指针
} BiTNode, *BiTree;
二叉树的操作
二叉树的遍历 (递归)
先序遍历
void PreOrder(BiTree T) {
if (T != NULL) {
visit(T); //访问根结点
PreOrder(T->lchild); //递归遍历左子树
PreOrder(T->rchild); //递归遍历右子树
}
}
中序遍历
void InOrder(BiTree T) {
if (T != NULL) {
InOrder(T->lchild); //递归遍历左子树
visit(T); //访问根结点
InOrder(T->rchild); //递归遍历右子树
}
}
后序遍历
void PostOrder(BiTree T) {
if (T != NULL) {
PostOrder(T->lchild); //递归遍历左子树
PostOrder(T->rchild); //递归遍历右子树
visit(T); //访问根结点
}
}
本文深入探讨了二叉树的三种基本遍历方法:先序遍历、中序遍历和后序遍历。通过递归实现,详细解释了每种遍历方式的逻辑流程,是理解数据结构中树操作的重要内容。
1697

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



