这个专题我只描述关于数据结构相关的二叉树,既然要描述二叉树,所以先 要定义好与二叉树有关的类
先创建二叉树的结点,结点包括数据域,指向左子树结点的指针和指向右子树结点的指针
创建二叉树结点如下所示:
package structs.tree;
/**
* @author jcm
* @see 创建二叉树结点的类
* 时间 2016年8月25日
*/
public class BinaryTreeNode {
public int data;
public BinaryTreeNode leftTreeNode;
public BinaryTreeNode rightTreeNode;
public BinaryTreeNode(int data){
this.data = data;
this.leftTreeNode = null;
this.rightTreeNode = null;
}
}
这里我就人为创建二叉树,其创建二叉树的类如下所示:
package structs.tree;
/**
* @author jcm
* @see 常见二叉树,这里简单实现下
* 时间 2016年8月25日
*/
public class CreateBinaryTree {
/**
* 创建二叉树
* @return 返回二叉树的根结点
*/
public static BinaryTreeNode createBinaryTree() {
BinaryTreeNode root = null;
BinaryTreeNode tree1 = new BinaryTreeNode(1);
BinaryTreeNode tree2 = new BinaryTreeNode(2);
BinaryTreeNode tree3 = new BinaryTreeNode(3);
BinaryTreeNode tree4 = new BinaryTreeNode(4);
BinaryTreeNode tree5 = new BinaryTreeNode(5);
BinaryTreeNode tree6 = new BinaryTreeNode(6);
BinaryTreeNode tree7 = new BinaryTreeNode(7);
BinaryTreeNode tree8 = new BinaryTreeNode(8);
root = tree1;//根结点指向第1棵树
tree1.leftTreeNode = tree2;
tree1.rightTreeNode = tree3;
tree2.leftTreeNode = tree4;
tree2.rightTreeNode = tree5;
tree3.leftTreeNode = tree6;
tree3.rightTreeNode = tree7;
tree4.leftTreeNode = tree8;
return root;
}
}
整个二叉树创建完毕,总共有8个结点。