浙江工商大学三培训资料.ppt
7.3 二叉树的遍历 7.3.3 递归遍历的非递归模拟 1、前序遍历的非递归模拟 为了模拟递归,需要设置一个栈结构,用以保存指向结点的指针,以便在遍历某结点的左子树之后,由该指针找到该结点的右子树。 前序遍历二叉树的非递归的方法是:从二叉树的根结点开始,令指针变量p指向根结点,访问当前结点p,并将p压入栈中,然后令p指向当前指向结点的左孩子结点。若p不为空,继续访问当前结点p,并将p压入栈中。如此重复进行,直到p为空时,从栈中弹出栈顶元素赋给指针变量p,并令p指向它当前指向结点的右孩子结点。重复上述过程,当p为空并且栈也为空时,遍历结束。 算法程序;见P156 前序非递归遍历过程:见表7-1 P157 7.3 二叉树的遍历 2、后序遍历的非递归模拟 在后序遍历二叉树的过程中,对一个结点访问之前,要两次历经这个结点。第一次是由该结点找到其左孩子,遍历其左子树,遍历完左子树,返回该结点;第二次是由该结点找到其右孩子,遍历其右子树,遍历完右子树,返回该结点,这时才访问该结点。因此,用后序遍历二叉树时,也需要设置一个栈,用来保存指向所经历结点的指针。由于一个结点要进、出栈各两次,每次对其操作不同,为了区别,设置一标志flag。 1 第一次出栈,结点不能访问 flag=
您可能关注的文档
最近下载
- 天津市南开区学九级上期期中考试物理试题(word版,含)要点.doc
- 2026人教版部编本四年级上册《麻雀》教案设计.docx VIP
- 四年级语文上册《麻雀》教案,语文教案设计.docx VIP
- 2025-2026学年云南省昆明市润城学校七年级(上)期中数学试卷(含答案).pdf VIP
- 山东裕龙石化有限公司裕龙岛炼化一体化项目(一期)绿色降碳一体化工程项目(一期)环评报告书.pdf VIP
- 07MS101-2室外给水管道附属构筑物.docx VIP
- 阀门井07ms101-2-24完整版.doc VIP
- 电子产品生产工艺-PPT课件(全).pptx
- 施工试验计划方案.docx VIP
- 瑞安市江南物流园区基础配套设施建设工程项目-兴侨路(云栖路至322国道段)道路工程水土保持报告表.pdf VIP
原创力文档

文档评论(0)