我实现了一个实验性OOP语言,现在使用Storage benchmark对基准垃圾进行基准测试。现在我想检查/打印小深度的以下基准(n = 2,3,4,...)。打印具有4个节点(简单森林)的树用于检查基准
通过buildTreeDepth
方法生成树(具有4个子节点的森林)。代码如下:
import java.util.Arrays;
public final class StorageSimple {
private int count;
private int seed = 74755;
public int randomNext() {
seed = ((seed * 1309) + 13849) & 65535;
return seed;
}
private Object buildTreeDepth(final int depth) {
count++;
if (depth == 1) {
return new Object[randomNext() % 10 + 1];
} else {
Object[] arr = new Object[4];
Arrays.setAll(arr, v -> buildTreeDepth(depth - 1));
return arr;
}
}
public Object benchmark() {
count = 0;
buildTreeDepth(7);
return count;
}
public boolean verifyResult(final Object result) {
return 5461 == (int) result;
}
public static void main(String[] args) {
StorageSimple store = new StorageSimple();
System.out.println("Result: " + store.verifyResult(store.benchmark()));
}
}
是否有一些简单/直接的方式来打印由buildTreeDepth生成的树?只是n = 3,4,5的短树。
PS:我想打印这棵树,这样我就可以确定它是我为我的实验性语言生成的同一棵树。 – mrsteve
这个问题看起来过于宽泛。如果有100个Java API可以为您生成图形或ASCII树,我不会感到惊讶。可能的重复 - [如何绘制一棵树来表示连接节点的图形?](http://stackoverflow.com/questions/10126695/how-to-draw-a-tree-representing-a-graph-of-connected-节点) – Dukeling
你可以添加一个你想要的输出结果的例子吗? – eitanfar