package net.yacy.visualization;
import java.util.ArrayList;
import java.util.List;
public class GridTree {
private List<GridTree> children;
public GridTree() {
this.children = null;
}
public void addChild(GridTree child) {
if (this.children == null) this.children = new ArrayList<GridTree>();
this.children.add(child);
}
public boolean isLeaf() {
return this.children == null;
}
public int depth() {
if (this.isLeaf()) return 1;
int maxChildDepth = 0;
for (GridTree child: children) {
maxChildDepth = Math.max(maxChildDepth, child.depth());
}
return maxChildDepth + 1;
}
public int width() {
if (this.isLeaf()) return 1;
int maxChildDepth = 0;
for (GridTree child: children) {
maxChildDepth = Math.max(maxChildDepth, child.depth());
}
return maxChildDepth + 1;
}
}