在做一个项目时,我写了这一行,基本上它决定了是否根据有多少孩子合并当前节点.
int succNodes = Arrays.stream(children).mapToInt(PRQuadNode::count).sum();
if (succNodes <= bucketingParam) { /* do something */ }
Run Code Online (Sandbox Code Playgroud)
问题是succNodes通常会明显大于bucketingParam.如果我已经找到了足够大的金额,那就没有必要继续计算了.如果我知道我将失败检查succNodes <= bucketingParam,那么启用流提前停止的最佳方法是什么?
注意:在这种情况下,孩子的总是4.
注2:PRQuadNode :: count是一个递归方法,它不是尾递归的.