树是一种存储数据的数据结构,查询的时间复杂度相对于链表,线性表来说查询的速度要快很多。
树在实际开发的当中我们用的特别少,但是在许多涉及到查询的工具中却是很常用的。比如innodb的索引,用的就是b树。因为树的查询速度快,所以索引就是利用树来存储数据的位置。虽然实际开发的代码中用的少,但是为了以后更深入地学习,是必须要学会树这种数据结构的。
树的结构很简单,现在主要是讲如何将数组转化成一个二叉树,我用的是java实现。
1:首先是树的节点创建:
public class Node{
pulic int value;
public Node left;
public Node right;
public Node(int value,Node left,Node right){
this. value = value;
this.left = left;
this.right = right;
}
}
2:创建二叉树
//以下是代码实现
for(int i = 0;i<array.length/2-1;i++){
if(array.get(i*2+1)!=null)
array.get(i).left = array.get(i*2+1);</