yacy_search_server/source/net/yacy/visualization/GridTree.java

42 lines
978 B
Java
Raw Normal View History

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;
}
}