前面介绍了双向链表,其实二叉树也相当于一个链表。二叉树相对而言比较好理解,我们可以把其看做成一棵树,只不过每个结点至多只有2个枝节点,且仅且只有一个根结点,这就是二叉树。二叉树的定义其实和链表差不多,双向链表是和其前后结点相连,而二叉树的结点就必须和其左右枝节点保持关系。与链表类似,可以这样定义二叉树:
public class TreeNode {
private Object obj;
private TreeNode parent;
private TreeNode left;
private TreeNode right;
//重写构造方法
public TreeNode(Object obj){
this.obj=obj;
}
public Object getObj() {
return obj;
}
public void setObj(Object obj) {
this.obj = obj;
}
public TreeNode getParent() {
return parent;
}
public void setParent(TreeNode parent) {
this.parent = parent;
}
public TreeNode getLeft() {
return left;
}
public void setLeft(TreeNode left) {
this.left = left;
}
public TreeNode getRight() {
return right;
}
public void se