如何使用Java实现二叉树

电脑杂谈  发布时间:2020-03-21 22:00:23  来源:网络整理

二叉树 java实现_java求二叉树的高度_二叉树的实现

全部展开

import java.util.List;

import java.util.LinkedList;

公共类Bintrees {

private int [] array = {1,2,3,4,5,6,7,8,9};

私有静态列表 nodeList = null;

私有静态类节点{

节点leftChild;

node rightChild;

int数据;

节点(int newData){

leftChild = null;

rightChild = null;

data = newData;

}

}

//创建一个二叉树

二叉树 java实现_二叉树的实现_java求二叉树的高度

public void createBintree(){

nodeList = new LinkedList <节点>();

///将数组值转换为节点

for(int nodeIndex = 0; nodeIndex

nodeList.add(新节点(数组[nodeIndex]));

}

//根据父子节点之间的数量关系二叉树 java实现二叉树 java实现,为最后一个父节点构建二叉树

for(int parentIndex = 0; parentIndex

nodeList.get(parentIndex).leftChild = nodeList.get(parentIndex * 2 +1);

nodeList.get(parentIndex).rightChild = nodeList.get(parentIndex * 2 + 2);

}

//最后一个父节点

int lastParentIndex = array.length / 2-1;

//左孩子

nodeList.get(lastParentIndex).leftChild = nodeList.get(lastParentIndex * 2 +1);

//如果是奇数,则创建合适的子代

if(array.length%2 == 1){

二叉树 java实现_二叉树的实现_java求二叉树的高度

nodeList.get(lastParentIndex).rightChild = nodeList.get(lastParentIndex * 2 + 2);

}

}

//预购遍历

public static void preOrderTraverse(节点节点){

如果(节点==空){

返回;

}

System.out.print(node.data +“”);

preOrderTraverse(node.leftChild);

preOrderTraverse(node.rightChild);

}

//有序遍历

public static void inOrderTraverse(节点节点){

如果(节点==空){

返回;

}

二叉树的实现_二叉树 java实现_java求二叉树的高度

inOrderTraverse(node.leftChild);

System.out.print(node.data +“”);

inOrderTraverse(node.rightChild);

}

//后遍历

public static void postOrderTraverse(节点节点){

如果(节点==空){

返回;

}

postOrderTraverse(node.leftChild);

postOrderTraverse(node.rightChild);

System.out.print(node.data +“”);

}

public static void main(字符串[] args){

Bintrees binTree =新的Bintrees();

binTree.createBintree();

节点根= nodeList.get(0);

java求二叉树的高度_二叉树 java实现_二叉树的实现

System.out.println(“预定遍历: ”);

preOrderTraverse(根);

System.out.println();

System.out.println(“有序遍历: ”);

inOrderTraverse(根);

System.out.println();

System.out.println(“后遍历: ”);

postOrderTraverse(根);

}

}

输出:

预订遍历:

1 2 4 8 9 5 3 6 7

中阶遍历:

8 4 9 2 5 1 6 3 7

后遍历:

8 9 4 5 2 6 7 3 1


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-147609-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 朱光弼
        朱光弼

        你永远是我们的浪漫功夫熊猫

      热点图片
      拼命载入中...