非递归前序遍历二叉树,非递归中序遍历二叉树,非递归后续遍历二叉树
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);}}
}
非递归前序遍历二叉树,非递归中序遍历二叉树,非递归后续遍历二叉树相关推荐
- 面试题7: 二叉树基础知识 - 前序遍历(DLR), 中序遍历(LDR), 后续遍历(LRD) - Android 端递归实现
二叉树定义: /*** Author: Heynchy* Date: 2019/6/24* <p>* Introduce: 二叉树的定义*/ public class TreeNode i ...
- 已知二叉树后序遍历序列是DABEC 中序遍历列是 DEBAC ,它的前序遍历序列是
已知二叉树后序遍历序列是DABEC 中序遍历列是 DEBAC ,它的前序遍历序列是: ----C ---/ --E -/-\ D---B -----\ ------A 我知道答案思念是这个....我想 ...
- 二叉树建立及中序遍历C++语言实现
二叉树建立及中序遍历C++语言实现: #include<stdio.h> #include<stdlib.h> typedef struct node{//二叉树结点数据结构定 ...
- 试证明:已知二叉树的前序序列和中序序列,可以唯一确定该二叉树
假设二叉树BT的总的结点个数为n,前序序列pre为,中序序列pin为,现用数学归纳法证明pre和pin可以唯一确定这棵二叉树: 1. n = 1时,前序和中序序列都各只有一个元素,,此时等于,为BT的 ...
- Morris遍历算法 树的中序遍历
Morris遍历算法 树的中序遍历 树的中序遍历 一.普通方法 1.递归实现 2.栈实现 二.Morris遍历 1.算法 2.代码 总结 树的中序遍历 对于当前结点,先输出它的左孩子,然后输出该结点, ...
- leetcode 98. 验证二叉搜索树 递归遍历左右子树和中序遍历 c语言解法
如题: 给定一个二叉树,判断其是否是一个有效的二叉搜索树. 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数. 节点的右子树只包含大于当前节点的数. 所有左子树和右子树自身必须也是 ...
- 二叉树 排序二叉树-可以通过中序遍历得到排序的数据 二叉排序树时间复杂度O(logn),...
二叉树是一种非常重要的数据结构,它同时具有数组和链表各自的特点:它可以像数组一样快速查找,也可以像链表一样快速添加.但是他也有自己的缺点:删除操作复杂. 虽然二叉排序树的最坏效率是O(n),但它支持动 ...
- 【二叉树迭代版中序遍历】LeetCode 94. Binary Tree Inorder Traversal
LeetCode 94. Binary Tree Inorder Traversal Solution1:递归版 二叉树的中序遍历递归版是很简单的,中序遍历的迭代版需要特殊记一下! 迭代版链接:htt ...
- 用前序中序创建二叉树(用中序后序创建二叉树)
定义二叉树结点 比如就拿这个二叉树 前序中序创建 因为前序遍历的顺序是 根 , 左 ,右. 中序的遍历是 左 根 右. 我们会很不好想,但我们可以用前序和中序把上面那个二叉树的遍历一边 前序遍历:AB ...
- sdut 2128 树结构练习——排序二叉树(BST)的中序遍历
树结构练习--排序二叉树的中序遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descript ...
最新文章
- R语言使用ggplot2包的快速可视化函数qplot绘制散点图(设置每个数据点的文本标签信息)实战
- @transaction 提交事务_分布式事务 TCC-Transaction 源码分析——TCC 实现
- Logminer实战
- 【转】5亿个数找中位数
- 杨辉三角形递归c语言,关于【杨辉三角】的递归解决方法,请教。有没有大神【【高手】】...
- PHP性能如何实现全面优化?
- linuex查看繁忙_[个人笔记] 关于linux的常见问题合集
- Docker镜像(image)详解
- dm8148 开发之---4路解码器tvp5158
- MySQL重要但容易被忽略_MySQL自定义函数存储过程
- 定时重启_SpringBoot基于数据库的定时任务实现方法
- JavaScript面向对象学习小结
- 立创开源|esp8266三路继电器
- 【论文研读】【目标检测】Revisiting Open World Object Detection
- 手把手教你使用R语言绘制交互效应的森林图
- python oserror捕获,Python3基础 try-指定except-as reason 捕获打开一个不存在的文件的时候,会产生OSError异常的示例...
- c语言jink exe出错,jlink 错误 :Can not connect to J-Link via USB
- 成都Uber优步司机奖励政策(2月29日)
- httpclient中警告Encrypted Alert后断开连接问题处理
- 企业注销的债权债务如何处理
热门文章
- Numpy 获取数组的行和列
- openSUSE 多个GPU设置 深度学习 Caffe PyTorch 等
- 设计软件中的黑马,免费还好用
- 4 MapReduce编程框架
- 阿里云的服务器,网站域名没有备案时为什么不可以访问?
- HarmonyOS荣耀8x,不忘老机型 荣耀9X系列被曝今年将升级HarmonyOS
- vue网易云歌单案例
- 平面设计怎么学,平面设计怎么学排版:夏雨老师
- android自定义曲线控件,Android自定义折线图(可拖动显示)
- P85.2.(2)回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试写一个算法判定给定的字符序列是否是回文。(提示:将一半的字符入栈)(C语言描述)