#include<stdio.h>
typedef struct Node{
char data;
struct Node *LChild;
struct Node *RChild;
}BiTNode,*BiTree;
void CreateBiTree(BiTree *bitree){
char c = getchar();
if(c == '.') (*bitree) = NULL;
else
{
(*bitree) = (BiTree)malloc(sizeof(BiTNode));
(*bitree) ->data = c;
CreateBiTree(&((*bitree)->LChild));
CreateBiTree(&((*bitree)->RChild));
}
}
void PreOrder(BiTree root)
{
/*先序遍历二叉树, root为指向二叉树(或某一子树)根结点的指针*/
if(root != NULL){
printf("%c",root->data); /*输出根节点*/
PreOrder(root->LChild); /*先序遍历左子树*/
PreOrder(root->RChild); /*先序遍历右子树*/
}
}
InOrder(BiTree root)
/*中序遍历二叉树, root为指向二叉树(或某一子树)根结点的指针*/
{
if (root!=NULL){
InOrder(root ->LChild); /*中序遍历左子树*/
printf("%c",root ->data); /*访问根结点*/
InOrder(root ->RChil
二叉树的三大遍历与求高度和结点
最新推荐文章于 2022-11-02 19:08:52 发布
这篇博客介绍了如何创建二叉树,并提供了先序、中序和后序三种遍历方法的实现,同时展示了计算二叉树叶子结点数量和高度的方法。通过递归算法,实现了对二叉树深度的后序遍历和先序遍历计算。
摘要由CSDN通过智能技术生成