后序遍历 非递归方法 (利用辅助节点r)
来源:互联网 发布:js canvas 画图 编辑:程序博客网 时间:2024/04/25 16:02
package edu.lnu.fang.BiTree;import java.util.Enumeration;import java.util.Iterator;import java.util.List;import java.util.Stack;import edu.lnu.fang.BiTree.BinTreeTra.Node;public class PostOrder_r {/** * 使用辅助节点r 保存最近访问过的节点 * @param root */ static void PostOrder_r(Node root) { Stack<Node> stack = new Stack<Node>(); Node p = root; Node r = null; while (p != null || stack.size() > 0) { if (p != null) { stack.add(p); p = p.leftChild; } else { p = stack.peek(); if (p.rightChild != null && p.rightChild != r) { p = p.rightChild; stack.add(p); p = p.leftChild; } else { p = stack.pop(); BinTreeTra.printNode(p); r = p; p = null; // 节点访问完后 重置p } } /* * //栈内元素 System.out.print("栈内元素:"); * * Iterator<Node> iterator= stack.iterator(); while * (iterator.hasNext()){ //显示枚举(stack ) 中的所有元素 System.out.print( * iterator.next().data+" "); } */ } } public static void main(String[] args) { Node root = BinTreeTra.init(); System.out.println("非递归后序遍历 利用辅助节点R:"); PostOrder_r(root); System.out.println(); }}
//其中的BinTreeTra类见上一篇文章
0 0
- 后序遍历 非递归方法 (利用辅助节点r)
- 数据结构--非递归遍历二叉树(利用辅助栈)
- 利用非递归方法实现二叉树的后序遍历 .(待完成!!!!!!)
- 二叉树的前、中、后序遍历(递归和非递归)、层序遍历、深度、叶子节点个数
- 不用栈辅助的二叉树非递归后序遍历算法
- 后序遍历非递归
- 非递归后序遍历
- 二叉树先序遍历,中序遍历,后序遍历递归非递归方法
- 后序遍历二叉树的非递归方法
- 非递归方法后序遍历二叉树
- 二叉树遍历-后序遍历(非递归)
- 二叉树遍历(先序遍历、中序遍历、后序遍历)——递归方法和非递归方法
- c语言实现二叉树先序,中序,后序(递归),层次遍历,求叶子节点个数及树的深度,下一篇写非递归的遍历
- 二叉树非递归后序遍历(非递归遍历中最麻烦的一个)
- 二叉树的非递归遍历方法(前序,中序,后序)
- Java实现二叉树的前序、中序、后序遍历(非递归方法)
- 二叉树的先序、中序、后序遍历方法(递归与非递归方法)——《数据结构》
- 求根结点到每个叶子节点的逆序列【后序遍历非递归的应用】
- 由一个整形数组的重复赋初值出错而想到的数组初始化规则
- 网站分析(十)
- Spring Note--IOC
- 漫谈OI中的群论入门
- 【集合框架】2. List容器
- 后序遍历 非递归方法 (利用辅助节点r)
- Java的IO之字符流(Reader)
- Spring Note--AOP
- Linux基础教程——LVM逻辑卷基本操作流程(附图)
- pip安装时ReadTimeoutError解决办法
- 程序猿(媛)实用颜色表 [颜色图示,英文代码,形象颜色,HEX格式,RGB格式]
- H
- 二叉树查找x的祖先
- 【HDU1398】Square Coins 母函数