我实现了一种实验性OOP语言,现在使用Storage基准测试垃圾回收机制。现在我想检查/打印以下小深度基准(n=2,3,4,...)。
树(带4个子节点的森林)由buildTreeDepth
方法生成。代码如下:
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的短树。
不要使用对象数组,而是使用像ArrayList这样的列表实现。为了获得更好的结果,子类ArrayList也保存一个“level”值,并向toString()方法添加缩进。
正如其他人已经建议的那样,您可以选择一些库来实现这一点。但是,如果您只想在命令行中测试一个简单的算法,您可以执行以下操作,我在命令行打印树时总是使用这些操作(按句柄编写,可能有一些错误。相信您可以获得此BFS算法的工作原理):
queue.add(root);
queue.add(empty);
int count = 1;
while (queue.size() != 1) {
Node poll = queue.poll();
if (poll == empty) {
count = 1;
queue.add(empty);
}
for (Node n : poll.getChildNodes()) {
n.setNodeName(poll.getNodeName(), count++);
queue.add(n);
}
System.out.println(poll.getNodeName());
}
样本输出:
1
1-1 1-2 1-3 1-4
1-1-1 1-1-2 1-1-3 1-2-1 1-2-2 1-3-1 1-3-2 1-4-1
...
在您的情况下,您使用数组,这似乎更容易打印。
我试图打印我的二叉搜索树的每个节点的所有值和深度。我很难想出一种递归计算深度的方法。到目前为止,我有一种仅打印树的每个值的方法。我将不胜感激一些指导,因为我觉得我让它变得比应有的更难。
1 Bagging Bagging采用自助采样法(bootstrap sampling)采样数据。给定包含m个样本的数据集,我们先随机取出一个样本放入采样集中,再把该样本放回初始数据集,使得下次采样时,样本仍可能被选中, 这样,经过m次随机采样操作,我们得到包含m个样本的采样集。 按照此方式,我们可以采样出T个含m个训练样本的采样集,然后基于每个采样集训练出一个基本学习器,再将这些基本学习
我正在使用jsTree显示一个树。我想选择树中可以使用的所有节点。这工作得很好。 但是,这将展开所有节点,并且拥有一个大树将把其余的内容一直往下推。 我想在检查所有节点后折叠树,但使用不起作用。 有人有办法解决吗?
本文向大家介绍如何打印二叉树每层的节点?相关面试题,主要包含被问及如何打印二叉树每层的节点?时的应答技巧和注意事项,需要的朋友参考一下 考察点:二叉树 实现代码:
问题就在这里: 我目前必须打印一个a4的横向页面,其中包含当前javaFx场景的“部分”。 我必须打印的部分是BorderPane的部分,我需要打印左侧、中间和底部节点,所以打印的页面应该如下所示: 我将此作为输出(仅供参考): 感谢您的帮助/阅读,感谢您的帮助。 更新01: 这真是让人摸不着头脑... 更新02: 使用快照和imageViews进行新尝试: 我把它除以600(就像Resoluti
我想让SSL和Kafka一起运行,让它更安全。我下载了Kafka并安装了它。我按照说明为SSL创建证书和信任库,没有任何问题。我将以下内容添加到我的config/server.properties中 启动Zookeeper后,我在启动kafak时收到此错误:[2017-12-07 16:02:52,155]ERROR[Controller id=0, targetBrokerId=0]连接到节点0