三叉链表存储的思想是让每个节点持有三个引用parent、left、right,分别指向其父节点、左子节点和右子节点。如下图所示:
因此,三叉链表存储的节点大致如:
class Node{
T data;
Node parent;
Node left;
Node right;
}
Java实现代码:
package com.liuhao.DataStructures;
import com.liuhao.DataStructures.TwoLinkBinTree.TreeNode;
public class ThreeLinkBinTree<E> {
public static class TreeNode{
Object data;
TreeNode parent;
TreeNode left;
TreeNode right;
public TreeNode() {
}
public TreeNode(Object data) {
this.data = data;
}
public TreeNode(Object data, TreeNode parent, TreeNode left,
TreeNode right) {
this.data = data;
this.parent = par