來源:
《算法·第四版》1.2 Data Abstraction
Creative Problems · 1.2.18
Source Code:java
/** * Adds the specified data value to the accumulator. * @param x the data value */ public void addDataValue(double x) { n++; double delta = x - mean; mean += delta / n; var += (double) (n - 1) / n * delta * delta; }
當向累加器中新加入一個data時,不須要和原來的data一塊兒從新算一遍均值和方差,而是能夠根據以前已經算出來的均值和方差,利用遞推公式直接獲得新的結果,這裏就關注這個遞推公式算法