首页 > 解决方案 > 随着深度的增加生成四分位数位置

问题描述

我想以编程方式生成四分位数 (IQR) 位置,以便我可以将它们用作获取最小 - 最大范围内的值的基础,并增加粒度顺序。

我被困了一段时间。令人惊讶的是,当我在寻找想法时,我在 Stack Overflow 上一无所获。因此,我将发布我提出的解决方案,以便将来在他们需要时帮助他们。

标签: javaiqr

解决方案


这是我想出的解决方案:

final int DEPTH = 32 //2^n where n is the depth of the quartile tree

for(int j = 1; j < DEPTH; j *= 2){
    double quotient = 1.0 / j;   //How many quartiles to generate

    for(int i = 1; i < j; ++i)
        if(i % 2 != 0)
            System.out.println((i * quotient));
    System.out.println("-------");
}

这样做会产生以下输出:

-------
0.5
-------
0.25
0.75
-------
0.125
0.375
0.625
0.875
-------
0.0625
0.1875
0.3125
0.4375
0.5625
0.6875
0.8125
0.9375
-------

推荐阅读