public class Node {
private int value;
private Node left;
private Node right;
//存储二叉树
public void store(int value){
if(value < this.value){//在该结点的左边
if(left==null){//该结点的左结点为空
left = new Node();left.value = value;//新建它的左结点
}else{//如果不为空则将左结点当作当前节点继续判断
left.store(value);
}
}else if(value > this.value){
if(right == null){
right = new Node();right.value = value;
}else{
right.store(value);
}
}
}
//查找二叉树
public boolean find(int value){
System.out.println("happen: "+this.value);//显示当前结点的值
if(this.value == value)return true;
else if(value < this.value){//搜索的值小于当前值
if(left==null)return false;
return left.find(value);
}else{
if(right==null)return false;
return right.find(value);
}
}
//前序历遍
public void preList(){
System.out.print(this.value+",");
if(left!=null)left.preList();
if(right!=null)right.preList();
}
//中序历遍
public void midList(){
if(left!=null)left.midList();
System.out.print(this.value+",");
if(right!=null)right.midList();
}
//后序历遍
public void afterList(){
if(left!=null)left.afterList();
if(right!=null)right.afterList();
System.out.print(this.value+",");
}二叉树实现java
原创
©著作权归作者所有:来自51CTO博客作者dongdong200514的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:最长公共子串——动态规划
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【二叉树】二叉树的坡度
给定一个二叉树,计算整个树的`坡度`一个树的 `节点的坡度` 定义为,该节点 `左` 子树的节点之`和` 与 `右`
深度优先 算法 swift ios objective-c -
翻转二叉树【二叉树】
时间复杂度:空间复杂度:
python 复杂度 Code 空间复杂度 -
java二叉树类结构 java二叉树算法
二叉树在算法中也是比较常用的数据结构,根据二叉树的遍历算法,在算法题中遇到二叉树经常优先考虑递归算法。同时二叉树中的二叉搜索树也是常用的,主要结合中序遍历有序的特性。
java二叉树类结构 二叉树 算法 二叉搜索树 递归法 -
java 二叉树四则运算 java的二叉树
树存储不同于数组和链表的地方在于既可以保证数据检索的速度,又可以保证数据插入删除修改的速度,二者兼顾。二叉树是一种很重要的数据结构,是非线性的结构,非常多其他数据结构都是基于二叉树的基础演变而来的。如:一般二叉树、完全二叉树、满二叉树、线索二叉树、哈夫曼树、二叉排序树、平衡二叉树、红黑树、B树。 普通的二叉树,很难构成现实的应用场景,但因其简单,常用于学习研究,平衡二叉树则是实际应用比较多的
java 二叉树四则运算 java 二叉树 java二叉树 java树形结构递归实现 怎样将树的中序遍历的数输入到一个数组中
















