树中除了根节点之外,每个节点都有且仅有一个父节点,为了记录树中节点与节点之间的父子关系,可以为每个节点增加一个parent域,用以记录该节点的父节点。
对于下图中的树:
可以用下表来存储:
由此可见,只要用一个节点数组来保存树中的每个节点,并让每个节点记录其父节点在数组中的索引即可。
Java实现代码
package com.liuhao.DataStructures;
import java.util.ArrayList;
import java.util.List;
public class TreeParent {
public static class Node {
T data;
int parent;// 记录父节点的位置
public Node() {
}
public Node(T data) {
this.data = data;
}
public Node(T data, in