树的表示形式:
1.孩子表示法
孩子表示法: 是指二叉树在保存时,结点既要保存值域,也要保存孩子的地址
优点:查找某个结点的孩子非常方便
缺点:查找其双亲困难
//数的孩子表示法
class TNode{
int val;//数据域
TNode next=null;//第一个孩子引用
public TNode(int val){
this.val=val;
}
}
//二叉树的孩子表示法
class BTNode{
int val;//数据域
BTNode left=null;//左孩子引用
BTNode right=null;//右孩子的引用
public BTNode(int val){
this.val=val;
}
}
2.双亲表示法
双亲表示法: 结点中既要保存值域,也要保存结点双亲的地址
优点:找某个结点的双亲非常方便
缺点:找当前结点的孩子结点不方便
class TNode{
int val;//数据域
TNode parent=null;//当前节点的父节点引用
public TNode(int val){
this.val=val;
}
}
3.孩子双亲表示法
孩子双亲表示法: 结点中既要保存值域,也要保存结点双亲和孩子的地址
//树
class TNode{
int val;
TNode parent=null;
TNode child=null;
public TNode(int val){
this.val=val;
}
}
//二叉树
class BTNode{
int val;
BTNode left;
BTNode right;
BTNode parent;
public BTNode(int val){
this.val=val;
}
}
4.孩子兄弟表示法
孩子兄弟表示法: 每个结点除了保存自身值域之外,也要保存第一个孩子的节点,还要给出当前节点的下一个兄弟节点。
class TNode{
int val;
TNode firstChild;
TNode nextBrother;
public TNode(int val){
this.val=val;
}
}