小编San*_*i N的帖子

使用数组表示的二叉树

考虑以下数组,声称代表了二叉树:

[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)知道它是否是完整的二叉树是否重要?

binary-tree data-structures

9
推荐指数
2
解决办法
5万
查看次数

使用Java停止运行Kettle Job/Transformation

我正在使用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

java etl pentaho kettle pentaho-design-studio

6
推荐指数
1
解决办法
2133
查看次数

Java:复合对象的不变性

假设我有一个具有以下定义的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)

java

1
推荐指数
1
解决办法
345
查看次数

内部BigInteger操作

BigInteger 用于对实际溢出int范围的整数运算(2到幂32),如计算阶乘100等.

实际BigInteger存储中间值或最终值的方式如何?

java large-data

-1
推荐指数
1
解决办法
116
查看次数