import java.util.Stack;public class Front {//非递归前序遍历public void front(TreeNode node) {Stack<TreeNode> stack = new Stack<>();stack.push(node);while(!stack.isEmpty()) {TreeNode newnode = stack.pop();System.out.println(newnode.data);if(newnode.right != null) {stack.push(newnode.right);}if(newnode.left != null) {stack.push(newnode.left);}}}//非递归中序遍历public void mid(TreeNode node) {Stack<TreeNode> stack = new Stack<>();while(!stack.isEmpty() || node != null) {if(node != null) {stack.push(node);node = node.left;}else {TreeNode newnode = stack.pop();System.out.println(newnode.data);node = node.right;}}} //非递归后序遍历public void bih(TreeNode node) {Stack<TreeNode> stack1 = new Stack<>();Stack<TreeNode> stack2 = new Stack<>();stack1.push(node);while(!stack1.isEmpty()) {TreeNode newnode = stack1.pop();stack2.push(newnode);if(newnode.left != null) {stack1.push(newnode.left);}if(newnode.right != null) {stack1.push(newnode.right);}}while(!stack2.isEmpty()) {System.out.println(stack2.pop().data);}}
}

非递归前序遍历二叉树,非递归中序遍历二叉树,非递归后续遍历二叉树相关推荐

  1. 面试题7: 二叉树基础知识 - 前序遍历(DLR), 中序遍历(LDR), 后续遍历(LRD) - Android 端递归实现

    二叉树定义: /*** Author: Heynchy* Date: 2019/6/24* <p>* Introduce: 二叉树的定义*/ public class TreeNode i ...

  2. 已知二叉树后序遍历序列是DABEC 中序遍历列是 DEBAC ,它的前序遍历序列是

    已知二叉树后序遍历序列是DABEC 中序遍历列是 DEBAC ,它的前序遍历序列是: ----C ---/ --E -/-\ D---B -----\ ------A 我知道答案思念是这个....我想 ...

  3. 二叉树建立及中序遍历C++语言实现

    二叉树建立及中序遍历C++语言实现: #include<stdio.h> #include<stdlib.h> typedef struct node{//二叉树结点数据结构定 ...

  4. 试证明:已知二叉树的前序序列和中序序列,可以唯一确定该二叉树

    假设二叉树BT的总的结点个数为n,前序序列pre为,中序序列pin为,现用数学归纳法证明pre和pin可以唯一确定这棵二叉树: 1. n = 1时,前序和中序序列都各只有一个元素,,此时等于,为BT的 ...

  5. Morris遍历算法 树的中序遍历

    Morris遍历算法 树的中序遍历 树的中序遍历 一.普通方法 1.递归实现 2.栈实现 二.Morris遍历 1.算法 2.代码 总结 树的中序遍历 对于当前结点,先输出它的左孩子,然后输出该结点, ...

  6. leetcode 98. 验证二叉搜索树 递归遍历左右子树和中序遍历 c语言解法

    如题: 给定一个二叉树,判断其是否是一个有效的二叉搜索树. 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数. 节点的右子树只包含大于当前节点的数. 所有左子树和右子树自身必须也是 ...

  7. 二叉树 排序二叉树-可以通过中序遍历得到排序的数据 二叉排序树时间复杂度O(logn),...

    二叉树是一种非常重要的数据结构,它同时具有数组和链表各自的特点:它可以像数组一样快速查找,也可以像链表一样快速添加.但是他也有自己的缺点:删除操作复杂. 虽然二叉排序树的最坏效率是O(n),但它支持动 ...

  8. 【二叉树迭代版中序遍历】LeetCode 94. Binary Tree Inorder Traversal

    LeetCode 94. Binary Tree Inorder Traversal Solution1:递归版 二叉树的中序遍历递归版是很简单的,中序遍历的迭代版需要特殊记一下! 迭代版链接:htt ...

  9. 用前序中序创建二叉树(用中序后序创建二叉树)

    定义二叉树结点 比如就拿这个二叉树 前序中序创建 因为前序遍历的顺序是 根 , 左 ,右. 中序的遍历是 左 根 右. 我们会很不好想,但我们可以用前序和中序把上面那个二叉树的遍历一边 前序遍历:AB ...

  10. sdut 2128 树结构练习——排序二叉树(BST)的中序遍历

    树结构练习--排序二叉树的中序遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descript ...

最新文章

  1. R语言使用ggplot2包的快速可视化函数qplot绘制散点图(设置每个数据点的文本标签信息)实战
  2. @transaction 提交事务_分布式事务 TCC-Transaction 源码分析——TCC 实现
  3. Logminer实战
  4. 【转】5亿个数找中位数
  5. 杨辉三角形递归c语言,关于【杨辉三角】的递归解决方法,请教。有没有大神【【高手】】...
  6. PHP性能如何实现全面优化?
  7. linuex查看繁忙_[个人笔记] 关于linux的常见问题合集
  8. Docker镜像(image)详解
  9. dm8148 开发之---4路解码器tvp5158
  10. MySQL重要但容易被忽略_MySQL自定义函数存储过程
  11. 定时重启_SpringBoot基于数据库的定时任务实现方法
  12. JavaScript面向对象学习小结
  13. 立创开源|esp8266三路继电器
  14. 【论文研读】【目标检测】Revisiting Open World Object Detection
  15. 手把手教你使用R语言绘制交互效应的森林图
  16. python oserror捕获,Python3基础 try-指定except-as reason 捕获打开一个不存在的文件的时候,会产生OSError异常的示例...
  17. c语言jink exe出错,jlink 错误 :Can not connect to J-Link via USB
  18. 成都Uber优步司机奖励政策(2月29日)
  19. httpclient中警告Encrypted Alert后断开连接问题处理
  20. 企业注销的债权债务如何处理

热门文章

  1. Numpy 获取数组的行和列
  2. openSUSE 多个GPU设置 深度学习 Caffe PyTorch 等
  3. 设计软件中的黑马,免费还好用
  4. 4 MapReduce编程框架
  5. 阿里云的服务器,网站域名没有备案时为什么不可以访问?
  6. HarmonyOS荣耀8x,不忘老机型 荣耀9X系列被曝今年将升级HarmonyOS
  7. vue网易云歌单案例
  8. 平面设计怎么学,平面设计怎么学排版:夏雨老师
  9. android自定义曲线控件,Android自定义折线图(可拖动显示)
  10. P85.2.(2)回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试写一个算法判定给定的字符序列是否是回文。(提示:将一半的字符入栈)(C语言描述)