- 91
- 0
- 约1.3万字
- 约 13页
- 2017-08-16 发布于河南
- 举报
第六章 树 二叉树
后序遍历的非递归算法。
在对二叉树进行后序遍历的过程中,当指针p指向某一个结点时,不能马上对它进行
访问,而要先遍历它的左子树,因而要将此结点的地址进栈保存。当其左子树遍历完毕之
后,再次搜索到该结点时(该结点的地址通过退栈得到),还不能对它进行访问,还需要遍
历它的右子树,所以,再一次将此结点的地址进栈保存。为了区别同一结点的两次进栈,
引入一个标志变量nae,有 0 表示该结点暂不访问 1 表示该结点可以访问
标志flag的值随同进栈结点的地址一起进栈和出栈。因此,算法中设置两个空间足够的堆栈,其中,STACKlCM]存放进栈结点的地址,STACK2[M]存放相应的标志n昭的值,两个堆栈使用同一栈顶指针top,top的初值为—1。
具体算法如下:
#defineH 100 /●定义二叉树中结点最大数目。/
voidPOSTOiRDER(BTREET)
{
/*T为二叉树根结点所在链结点的地址。/
BTREESTACKl[H],p=T;
intSTACK2[M],flag,top=—1;
if(T!=NULL)
d0{
while(p!=NULL){
STACK/[++top]=p; /●当前p所指结点的地址
您可能关注的文档
最近下载
- xxxx工艺验证方案.pdf VIP
- GB 11564-2024机动车回复反射装置.pdf
- GBT 2792-2014 胶粘带剥离强度的试验方法.pptx VIP
- 【新教材】一年级下册科学2.4水中的动物 教学PPT课件 教科版(2024).pptx
- 《小学课程与教学设计》第五章小学课程与教学实施设计PPT课件.pptx VIP
- 《QXT 17—2019 37mm高炮增雨防雹作业安全技术规范》专题研究报告.pptx VIP
- GB50017-2017钢结构设计标准.doc VIP
- 热轧钢板和钢带的尺寸外形重量及允许偏差.doc VIP
- 2025年AWS认证Route53健康检查在SaaS应用多租户架构中的实现专题试卷及解析.pdf VIP
- 新版《特种设备使用管理规则》培训课件.pptx
原创力文档

文档评论(0)