2016-10-11 10 views
-1

以下のデータセットが与えられます。このテーブルを表すために使用するデータ構造は何ですか?

|  | English | Maths | Science | Total | 
|-------|---------|-------|---------|-------| 
| Alice | 7  | 4  | 6  | ?  | 
| Bob | 3  | 5  | 1  | ?  | 
| Total | ?  | ?  | ?  | ?  | 

疑問符でマークされた値を効率的に計算するために、このデータをどのデータ構造で表現する必要がありますか?

+1

それほど問題ではありません。他の操作が必要ですか? – harold

+0

いいえ、その値だけです。しかし、データセットは本当に大きいです。 –

答えて

1

あなたは単にキーが「名前」で、値が「英語、ヒンディー語...合計」の構造であるHashMapをそのまま使用できます。キー内のすべての名前を除いて、キーには特別な名前 - 「合計」があります。 生徒の名前を追加するたびに、アリスと被験者:英語を入力するたびに、 アリスと合計の2つのキーを検索する必要があります。

各キーについて、件名の英語と合計を更新します。

このために複雑なデータ構造を持つ必要はありません。単純にする。

+0

それはまさに私がやったことです。 –

0

使用するデータ構造はコンテキストによって異なります。 PostgreSQLのようなリレーショナルデータベースに格納し、sumのようなSQL集計関数を使用して値を計算することができます。

また、XMLとして保存してXSLTを使用して合計を計算することもできます。

XML、JSON、YAML、CSVなどの任意のフォーマットをプログラミング言語を使って仮想的に使用できます。適切なライブラリを使用して、選択したプログラミング言語で計算が行われます。

関連する問題