2016-07-18 21 views
3

Ich habe eine Liste, die ständig Wert hinzugefügt wird, und jedes Mal, wenn ich das arithmetische Mittel zählen muss. Gibt es einen Weg, es schneller zu machen, als einfach die Summe der Elemente zu merken und durch die Größe der Liste zu dividieren?Eine schnelle Suche der durchschnittlichen Variablenliste

+1

Es wird nicht schneller wäre als eine Ergänzung und Erhöhung und eine Division. Das ist schon ** O (1) **. – MrSmith42

+0

können Sie auch die Größe der Liste speichern, und fügen Sie einfach 1 für jedes neue Element hinzu –

Antwort

3

Es wird nicht schneller als eine einzelne Aktualisierung Berechnung erhalten, nachdem die Anzahl der Werte erhöht wird, das heißt

add

Dies ist offenbar konstant O(1) Zeitkomplexität.

Ein entsprechender Ansatz den Durchschnitt einer Probe zu aktualisieren, nachdem Sie einfach einen Wert Entfernen

remove