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?

questionAnswers(2)

yourAnswerToTheQuestion