Algorytm online do obliczania odchylenia standardowego
Zwykle mam więcej problemów technicznych, ale uprościsz to na przykładzie liczenia piłek.
Załóżmy, że mam kulki o różnych kolorach i jeden indeks tablicy (zainicjowany na wszystkie 0) zarezerwowane dla każdego koloru. Za każdym razem, gdy wybieram piłkę, zwiększam odpowiedni indeks o 1.
Piłki są wybierane losowo i mogę wybrać tylko jedną piłkę na raz. Moim jedynym celem jest policzenie liczby kulek dla każdego koloru, aż zabraknie mi kulek.
Chciałbym obliczyć odchylenie standardowe liczby kulek o różnych kolorach,podczas gdy je liczę. Nie chcę tego obliczać, powtarzając po raz kolejny tablicę po zakończeniu liczenia wszystkich piłek.
Aby wizualizować:
Piłki w losowej kolejności:BBGRRYYBBGGGGGGB
(każda litera reprezentuje pierwszą literę koloru) Wskaźniki tablicy od 0 do 3 odpowiadają odpowiednio kolorom B, G, R i Y. Kiedy skończę zbieranie piłek, moja tablica wygląda[5,7,2,2]
.
Bardzo łatwo jest obliczyć odchylenie standardowe po uzyskaniu ostatecznej tablicy, ale chcę to zrobić podczas wypełniania tej tablicy.
Chcę to zrobić w Javie i mam około 1000 kolorów.
Jaki jest najbardziej skuteczny sposób wdrożenia? A może jest jakiś sposób, aby to zrobić, zanim w ręce pojawi się ostatni zestaw?