package net.com.tree;
public class BinaryTree {
public static void main(String[] args){
BinaryTree binaryTree=new BinaryTree();
int[]array={8,3,10,9,1,5};
TreeNode treeNode=binaryTree.bulidSortTree(array);
binaryTree.printTreeInorder(treeNode);
}
public void createTree(TreeNode treeNode,int[] array){
for(int i=1;i<array.length;i++){
bulidTreeSty(treeNode,array[i]);
}
}
public TreeNode bulidSortTree(int[] array){
TreeNode treeNode=new TreeNode(array[0]);
createTree(treeNode, array);
return treeNode;
}
private void bulidTreeSty(TreeNode treeNode,int data){
if(data<=treeNode.data){
if(treeNode.left==null){
treeNode.setLeft(new TreeNode(data));
}else{
bulidTreeSty(treeNode.getLeft(), data);
}
}else{
if(treeNode.right==null){
treeNode.setRight(new TreeNode(data));
}else{
bulidTreeSty(treeNode.getRight(), data);
}
}
}
public void printTreeInorder(TreeNode treeNode){//中序遍历二叉树
if(treeNode!=null){
printTreeInorder(treeNode.left);
System.out.println(treeNode.data);
printTreeInorder(treeNode.right);
}
}
}
class TreeNode{
TreeNode left;//左子树
TreeNode right;//右子树
int data;
public TreeNode(){
this.left=null;
this.right=null;
this.data=0;
}
public TreeNode(int data){
this.left=null;
this.right=null;
this.data=data;
}
public TreeNode getLeft() {
return left;
}
public void setLeft(TreeNode left) {
this.left = left;
}
public TreeNode getRight() {
return right;
}
public void setRight(TreeNode right) {
this.right = right;
}
public int getData() {
return data;
}
public void setData(int data) {
this.data = data;
}
}
分享到:
相关推荐
二叉树排序是一种基于二叉树结构的数据组织与排序方法,它主要利用了二叉树的特性来实现数据的有序存储。在这个主题中,我们将深入探讨二叉树排序的原理、实现方式以及其优缺点。 首先,理解二叉树的基本概念至关...
在这里,我们将深入探讨如何利用XML来实现二叉树排序的过程。 首先,我们要理解二叉树的基本概念。一个二叉树由根节点开始,可以有零个、一个或两个子节点,分别称为左子节点和右子节点。二叉排序树是一种特殊的...
在数据结构的学习中,二叉树排序是一种常见的算法应用,尤其在进行课程设计时,它能帮助学生深入理解数据结构的原理与实际操作。本文将详细介绍二叉树排序及其相关知识,结合提供的“二叉树排序 数据结构课程设计”...
### 二叉树排序原理与实现 #### 一、二叉树排序树基本概念 二叉树排序是一种基于二叉树的数据结构实现的排序方法。它利用了二叉树的特性来达到排序的目的。在本篇文章中,我们将详细介绍二叉树排序的核心思想,即...
二叉树排序是一种基于二叉树数据结构的排序方法,其基本原理是通过构建一个二叉搜索树(Binary Search Tree, BST),然后按照中序遍历(In-Order Traversal)的方式输出节点数据,得到的结果就是一个有序序列。...
对一原有数组进行二叉树排序,并对其进行中序遍历。然后当我们输入一个数时,算出比较的次数,并打印出来
二叉树排序算法是一种基于二叉树数据结构的排序方法,它主要利用了二叉树的特性来实现数据的有序排列。在这个主题中,我们将会深入探讨二叉树的构造、性质以及如何利用它们进行排序。JavaScript作为一种常用的编程...
二叉树排序是一种基于二叉树数据结构的排序算法,其核心思想是将待排序的数据构建为一棵特殊的二叉树——二叉搜索树(Binary Search Tree, BST),然后通过遍历这棵树来达到排序的目的。在二叉搜索树中,每个节点的...
本主题关注如何将一个整型(int)数组的内容构建到一棵二叉树上,并实现二叉树排序。二叉树排序是一种利用二叉搜索树特性进行排序的方法,它能有效地在O(n log n)的时间复杂度内完成排序。 首先,我们要了解二叉树的...
二叉树排序是一种基于二叉树结构的数据组织和排序方法,尤其在计算机科学领域具有重要的应用价值。在二叉树排序中,我们通常利用二叉搜索树(Binary Search Tree, BST)这一特殊的二叉树类型,其特性是左子树上的...
二叉树排序通常指的是二叉搜索树,它是一种特殊的二叉树,每个节点的值都大于其左子树中的任何节点的值,且小于其右子树中的任何节点的值。二叉搜索树在插入、删除和查找操作上的时间复杂度可以达到O(log n),对于...
在本实践项目“VC++2012编程演练数据结构《23》二叉树排序”中,我们主要探讨的是如何使用C++编程语言,特别是VC++2012环境,来实现基于二叉树的数据结构进行排序。二叉树是一种非线性的数据结构,它由节点构成,每...
在本实践项目“VC++2012编程演练数据结构《21》二叉树排序”中,我们主要探讨的是如何使用C++编程语言,特别是VC++2012环境,来实现基于二叉树的排序算法。二叉树是一种特殊的数据结构,它在计算机科学中扮演着重要...
本文将深入探讨如何利用VC++(Visual C++)编写的二叉树排序算法,并将其封装为DLL(动态链接库),供VB(Visual Basic)程序调用,实现高效的数据排序。在描述中提到的环境下,即CPU为T6670 2.20GHz,内存为2GB,...
python编写 实现 快速排序 和 二叉树排序 并对比速度
二叉树排序是一种基于二叉树结构的数据组织和排序方法,它通过构建特定类型的二叉树(通常是二叉搜索树)来实现数据的有序存储。在这个Project13中,我们将探讨如何动态输入一列数据来构建这样的二叉树,并设计算法...
在本案例中,我们关注的是“c二叉树排序”,这是一个使用C语言实现的算法,它通过构建二叉树来对输入数据进行排序,并最终按照某种顺序将排序结果输出到文件中。山东大学的C语言考试中可能包含此类问题,要求学生...