构造二叉搜索树并先序遍历(非递归)---java
来源:互联网 发布:网络流媒体地址 编辑:程序博客网 时间:2024/06/14 17:11
<pre name="code" class="java">package BitTree;import java.util.*;public class CreateBitTree {/*public class BitTreeNode {int value;BitTreeNode left;BitTreeNode right;public BitTreeNode(int data){this.value=data;this.left=null;this.right=null;}}*/public BitTreeNode Insert(BitTreeNode root,int data){//构造二叉搜索树if (root==null){root=new BitTreeNode(data);}else{if(data<root.value){//值如果小于根节点,则放到左孩子节点root.left=Insert(root.left,data);//创建左子树}else{root.right=Insert(root.right,data);//创建右子树}}return root;}public void preOrder(BitTreeNode root){//先序遍历二叉树,根左右if(root!=null){System.out.print(root.value+" ");preOrder(root.left);preOrder(root.right);}}//非递归前序遍历public void PreScan(BitTreeNode root){Stack stack=new Stack();if(root==null) System.out.println("the tree is null");while(root!=null){while(root!=null){System.out.println(root.value);stack.push(root);//将当前子树的根节点进进栈//System.out.println("-"+root.left.value+"-");root=root.left;//访问左孩子节点}//System.out.println("*"+root+"*");root=(BitTreeNode)stack.pop();//栈顶元素出栈,获得当前子树的根节点root=root.right;//访问当前子树的右节点}}public static void main(String[] args){//测试代码int[] arr={21,13,4,45,5,6};BitTreeNode node=null;CreateBitTree bittree=new CreateBitTree();for(int i=0;i<arr.length;i++){node=bittree.Insert(node,arr[i]);}//bittree.preOrder(node);//System.out.println("%%"+node.right.value+"%%");bittree.PreScan(node);}}
0 0
- 构造二叉搜索树并先序遍历(非递归)---java
- 二叉搜索树的非递归遍历之先序
- 非递归先序遍历二叉树
- 非递归先序遍历二叉树
- 先序遍历二叉树 [非递归]
- 非递归先序遍历二叉树
- 二叉树非递归先序遍历
- 二叉树非递归先序遍历
- 非递归先序遍历二叉树
- java建立二叉树,递归/非递归先序遍历,递归/非递归中序遍历,层次遍历
- 二叉树的先序遍历(非递归算法)
- 二叉树的先序递归以及非递归遍历
- 二叉树的先序递归,非递归遍历
- C++ 二叉树的遍历---先序遍历(非递归)
- 二叉树之先序遍历(递归和非递归两种遍历)
- 二叉树的建树、遍历(先序、中序、后序、层次)(递归和非递归)--Java实现
- 二叉树(先序创建,非递归先序,中序遍历)-----2
- Java二叉树(三)--非递归的中序_先序_后序遍历二叉树
- 机器学习中的稀疏表示与字典学习
- android启动过程
- oracle 存储过程
- dubbo学习过程、使用经验分享及实现原理简单介绍
- 09.ThreeJs开发指南-第九章-创建动画和移动相机
- 构造二叉搜索树并先序遍历(非递归)---java
- HDU 1372 Knight Moves
- C# 高级特性(三)多线程
- JVM、DVM(Dalvik VM)和ART虚拟机对比
- Animation动画之alpha
- 内存溢出和内存泄漏的区别,产生原因以及解决方案
- 2015-2016年,哪些开源项目荣登GitHub十强榜单?
- IP 多播地址与MAC多播地址的映射关系
- 将对象转化为JSON格式字符串