考虑以下数组,声称代表了二叉树:
[1,2,5,6,-1,8,11]
鉴于值为-1的索引表示根元素,我在下面的问题:
a)这实际上是如何表示的?
我们应该遵循以下公式(来自此链接的来源)来找出树吗?三个简单的公式允许您从父项的索引转到其子项的索引,反之亦然:
* if index(parent) = N, index(left child) = 2*N+1
* if index(parent) = N, index(right child) = 2*N+2
* if index(child) = N, index(parent) = (N-1)/2 (integer division with truncation)
Run Code Online (Sandbox Code Playgroud)
如果我们使用上面的公式,那么index(root)= 3,index(left child)= 7,它不存在.
b)知道它是否是完整的二叉树是否重要?
我正在使用Java开发基于Web应用程序的ETL(使用Kettle引擎).
我在试图阻止正在运行的Job时遇到问题.我不确定使用CarteSingleton.java是否正确.我正在使用自定义单例映射.
我的代码如下
Job job = new Job(null, jobMeta);
job.setLogLevel(LogLevel.DETAILED);
job.setGatheringMetrics(true);
job.start();
Run Code Online (Sandbox Code Playgroud)
调用job.start()之后,我试图将该作业对象存储在自定义单例映射中,并检索存储在映射中的确切Job对象,以及使用另一个REST调用stopAll()(请参阅下面的代码)在Job的状态为RUNNING时调用,以阻止它.但这并不能阻止正在运行的工作.Kettle Engine没有得到通知!工作执行继续..kjb/.ktr正在使用SPOON创建,尽管我没有使用SPOON来运行/停止执行.
是否有任何Kettle API配置我要更改,以便能够使用
same job object
job.stopAll();
Run Code Online (Sandbox Code Playgroud)
您能否请教一下API和示例示例,如果有的话,可以使用Java来停止正在运行的JOB或转换?
任何指针或帮助都会很棒!再次感谢.
此致,Sanjeev
假设我有一个具有以下定义的Employee类:
class Employee {
private final String id;
private final String name;
private final String dept;
private final Address address;
public Employee(String id, String name, String dept, Address address) {
this.id = id;
this.name = name;
this.dept = dept;
this.address = address;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public String getDept() {
return dept;
}
public Address getAddress() {
return address;
}
}
class Address {
private String addrLine1;
private String …Run Code Online (Sandbox Code Playgroud) BigInteger 用于对实际溢出int范围的整数运算(2到幂32),如计算阶乘100等.
实际BigInteger存储中间值或最终值的方式如何?