特定の値を頻繁にサンプリングし、そのサンプルについて統計を保持したいとします。最も簡単なアプローチは、すべてのサンプルを保存して、必要な統計情報を計算できるようにすることですが、これには無制限のストレージが必要です。一定量のストレージを使用して、最小値や最大値などの統計情報を記録できます。一定の記憶域だけを使用してその他何を追跡できますか?私はパーセンタイル、標準偏差、およびその他の有用な統計を考えています。定数ストレージを使用して無制限シーケンスを要約する
これは理論的な質問です。私の実際の状況では、サンプルは単純にミリ秒のタイミングです。長時間実行するアプリケーションのプロファイリング情報です。数百万のサンプルがありますが、それほど多くはないでしょう。だから、例えば10個の変数だけを使ってサンプルのためにどのような統計を保持することができますか?
技術的には、総計はO(n)の記憶域を必要とし、合計は一定の記憶域ではありません。 –
ええ、元の質問では、ここではサンプル数の制限があるので、_O(1)_となることがわかります。 –
O(n)?いいえ。1カウント、1合計、1分、1マックスがあります。これらはサンプル数に依存しません。スペースにはO(1)があります。 – dmckee