#include <stdio.h>
#include <malloc.h>
#include <string.h> //memset()的头文件
#define MAXLEN 100
typedef char DataType;
//全局变量
DataType path[MAXLEN];
int flag = 0, top = 0;
typedef struct tnode
{ //二叉树结点存储类型
DataType data; //定义数据域
struct tnode *lchild, *rchild; //定义左、右孩子指针域
}BiTree;
BiTree *CreateBiTree()
{ //按照先序序列建立二叉树的二叉链表的过程
DataType ch;
BiTree *bt;
scanf("%c",&ch);
if(ch=='#')
return NULL;
else
{
bt = (BiTree *)malloc(sizeof(BiTree)); // 生成一个新结点
bt->data = ch;
bt->lchild = CreateBiTree(); // 生成左子树
bt->rchild = CreateBiTree(); // 生成右子树
}
return bt;
}
void ShowBTree(BiTree *t)
{ // 用广义表表示法显示二叉树子函数
if (t!=NULL) // 当二叉树非空时
{
printf("%c",t->data); // 输入该结点数据域
if(t->lchild!=NULL) // 若其左子树非空
查询结点到根结点的路径
最新推荐文章于 2023-01-10 12:53:43 发布
本文探讨如何在二叉树数据结构中,有效地找到任意结点到根结点的路径。通过深度优先搜索或广度优先搜索策略,可以遍历树并记录从目标结点到根的路径。这种方法对于理解二叉树操作和解决相关问题至关重要。
摘要由CSDN通过智能技术生成