26线索二叉树的构造

1、 线索二叉树的构造:对于二叉树的线索化,实质就是遍历一次二叉树,只是在遍历的过程中,检查当前节点左、右指针域是否为空,若为空,将它们改为指向前驱结点或后继结点的线索。
在这里插入图片描述

2、 通过中序遍历对二叉树线索化的递归算法如下:
Void InThread(ThreadTree &p,ThreadTree &pre){
If(p!=NULL){
InThread(p->lchild,pre);//递归,线索化左子树
If(p->lchildNULL){//左子树为空,建立前驱
p->lchild=pre;
p->ltag=1;
}
If(pre!=NULL&&pre->rchild
NULL){
pre->rchild=p; //建立前驱结点的后继线索
pre->rtag=1;
}
pre=p;
InThread(p-rchild,pre);
}//if(p!=NULL)
}
3、 通过中序遍历建立中序线索二叉树的主过程描述代码
Void createInThread(ThreadTree T){
ThreadTree pre=NULL;
If(T!=NULL){ //非空二叉树,线索化
InThread(T,pre); //线索化二叉树
Pre->rchild=NULL;//处理遍历的最后一个结点
Pre->rtag=1;
}
}
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光怪陆离的节日

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值