二叉链表存储的思想是让每个节点都记住它的左、右两个子节点,为每个节点增加left、right两个指针,分别引用该节点的左、右两个子节点,如图所示:
其中,每个节点大致有如下定义:
class Node{
T data;
Node left;
Node right;
} 对于这种二叉链表存储的二叉树,如果程序需要,为指定节点添加子节点也非常容易,让父节点的left、right引用指向新节点即可。
Java实现代码:
package com.liuhao.DataStructures;
public class TwoLinkBinTree {
public static class TreeNode{
Object data;
TreeNode left;
TreeNode right;
public TreeNode(){}
public TreeNode(Object data){
this.data = data;
}
public TreeNode(Object data, TreeNode left, TreeNode right) {
this.data = data;
this.left &#