2011-11-11 12 views
0

私はある種のハッシュテーブルを使うべきかどうかを決めようとしています。私が持っているのは、大量の文字列形式のデータです。ここにハッシュテーブルが必要ですか?

カテゴリに分類されるが、それらにアクセスするための同じキー値を持つ多くの文字列があります。

の例では、いくつかの文字列がカテゴリ動物に分類された場合、私はキーとして文字列の動物を使用するだろうが、私は例として以下のような多くを持っているでしょう:

動物犬

動物の猫

など。

そして多分他と呼ばれる人

人トム

人ジョー・

と息子だから私はそう、動物や人物を検索し、各値を一覧表示したいです人の検索はトムとジョーを返すだろう。

同じ値の複数のキーを使用できますか?私はハッシュを考える必要があったので、長い時間が経ちました。

これはハッシュに適していますか?ブーストやSTLが良い場合は?

おかげ

これは意味をなさない場合、私は私が求めていますどのような、より詳細な情報を追加することができます。

+0

BoostとSTLについて言及して以来、これはC++特有のものとみなしています。 –

+0

ハッシュマップは、C++だけでなく、私が知っている言語のほとんどで使用されています) – GETah

+0

壊れたリンクを修正しました これは役に立ちますhttp://techieme.in/hashing-in-detail-part-one – dharam

答えて

0

しかし、ハッシュマップは、定義状態として複数のキーをサポートしています。キーは内部的にユニークなインデックスに変換されます。理想的なのは、キーがすべて異なっていることですが、キーが固定されていない限り、これはほとんど達成できません。 あなたの場合、「動物」と「人」をキーとして選択しなかった理由は何ですか? この場合、単一のキーで識別される動物(犬、猫、ラクダ、鳥など)のリストを持つことができます。

+0

私の考え方それは、動物は1つの鍵になり、人は別の鍵になるなど...意味がありますか?不思議にも、私は決して大学からハッシュを実装する必要はなく、彼らの仕組みを覚えようとしています。私はブーストのものを読みましたが、少し混乱しているようです。 –

+1

Wikipediaはあなたの友人です:) http://en.wikipedia.org/wiki/Hash_table – GETah

0

各キーについてハッシュテーブル構造を実装し、それに関連する値のリストを作成します。そのため、ハッシュテーブルの値を検索すると、そのキーに関連付けられたリストが表示されます。それが役に立てば幸い!

+0

ありがとう、私はこれを解決しましたが、私はもはや何をしたのか覚えていません。 –

関連する問題