二叉树的三叉链式存储
三叉链式存储的思想是让每个节点不仅“记住”它的左,右两个节点,还要“记住”它的父节点,因此每个节点需要left,right,parent三个指针。
三叉链表存储方式是对二叉链表的一种改进,通过为树节点添加一个parent引用,可以让每个节点都能非常方便地访问其父节点。
三叉链表存储二叉树的节点定义
//三叉链表存储二叉树的节点定义
class Node{
Object data;//节点数据
Node left;//左孩子指针
Node rigth;//右孩子指针
Node parent;//父节点指针
public Object getData() {
return data;
}
}
为指定节点添加子节点
/***
* 为指定节点添加子节点
* @param parent 指定节点
* @param data新节点的数据
* @param isLift 是否为左孩子
* @return 返回新添加的节点
*/
public Node add(Node parent, E data, boolean isLeft){
if(parent==null){ <