首页 > 编程知识 正文

遍历二叉树代码(java 二叉树排序_七大常用排序算法——二叉树排序实现)

时间:2023-05-05 11:25:58 阅读:121094 作者:3233

二叉排序树介绍

二叉树又称二叉树检索树(binarysorttree/binarysearchtree ),简而言之,数据的存储遵循原则。 左侧的节点小于根节点,右侧的节点大于根节点,尽量不要相同(可以放在左右两侧)。

学习双股排序树,实现“修改增删”都是高效的。

实现想法:

1、创建节点Node (定义三个变量、一个添加方法、一个中序遍历方法;前后排序结果不有序) ) ) ) ) ) )。

2、构造二叉树(根节点的定义、添加方法、遍历方法的添加) ) ) ) ) )。

3、创建实例,递归添加数组,使用中序遍历方法输出

测试代码:

公共类二进制语句{

publicstaticvoidmain (字符串[ ] args ) {

//todo自动- generated method stub

intarr [ ]={ 2,5,3,7,4,8,9,1,0 };

binarytreebinarytree=newbinarytree (;

//递归添加数组

for(intI=0; i arr.length; I ) {

binary tree.add (新趋势(arr [ I ] ) );

}

//遍历输出

System.out.println (中序遍历输出~~) );

binaryTree.postOrder (;

}

}

//做二叉树

类二进制树{

私有趋势根;

//publicbinarytree (节点根) {

//this.root=root;

//}

//添加方法

公共语音添加(趋势节点) {

if (根==空) {

根=节点;

} else {

this.root.add (节点;

}

}

//遍历方法

公共语音海报

if (路线!=空) {

this.root.postOrder (;

} else {

System.out.println ('二叉树为空,无法遍历排序) );

}

}

}

//创建节点

类树节点{

私密int value;

私有趋势左;

私有三叉树;

公共趋势(空闲) {

this.value=value;

}

@Override

公共字符串字符串

返回' treenode [ value=' value ' ];

}

//添加方法

公共语音添加(趋势节点) {

//判断传入值与当前节点值的关系

//如果传入的值为空,则直接返回

if (节点==null ) {

返回;

}

//如果传递的值小于当前值

if(node.valuethis.value ) {

//确定当前节点左侧子节点的数量是否为空,如果为空,则将小于当前节点的值放在左侧节点上

if(this.left==null ) {

this.left=node;

//如果当前节点的左子节点不为空,则判断为左子树

} else {

this.left.add (节点;

}

//如果传递的值大于或等于当前值且大于或等于当前值,则将其添加到当前节点的右侧

} else {

if(this.right==null ) {

this.right=node;

} else {

this.right.add(node;

}

}

}

//之后遍历

公共语音海报

if(this.left!=空) {

this.left.postOrder (;

}

system.out.println(this;

if(this.right!=空) {

this.right.postOrder (;

}

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。