質問

自分で実装する代わりに、私が使用できる Objective-C でのヒストグラムまたはバッグ データ構造の実装を誰かが知っているかどうか疑問に思いました。

本質的に、ヒストグラムはリストのハッシュマップであり、リストにはそのハッシュ エントリに関連する値が含まれています。良い例は、乳製品、肉、缶詰などの商品グループをそれぞれ専用の袋に入れているスーパーマーケットの商品のヒストグラムです。これにより、タイプに応じて項目の各グループに非常に簡単にアクセスできるようになります。

役に立ちましたか?

解決

NSCountedSet のですマルチセットする(別名「バッグ」)の個別のオブジェクトを数えますが、重複を許可していません。しかし、あなたの説明に基づいて、私は何が必要だとは思わない、とヒストグラム、これは自動的に(通常は数値)の範囲のセットに基づいて値をバケット。

私は、あなたが本当にしたいことは1に「キーであるマルチマップに、あると信じて-or-以上の値」関係。 //dysart.cs:私は維持する データ構造フレームワークは、<のhref = "のhttpを含んでいます。 「REL = "nofollowをnoreferrer"> CHMultiDictionary を、マルチマップの実装byu.edu/CHDataStructures/interface_c_h_multi_dictionary.html。私はそれが完璧または完全だいかなる手段によっても主張しませんが、私はそれがあなたの問題のために役に立つかもしれ願っています。

他のヒント

あなたは、単に配列の辞書をしたいのように

それは私に聞こえます。

:あなたは、NSDictionarysの要素としてのようなものをNSArraysを置くことができます
NSMutableDictionary* dict = [NSMutableDictionary dictionary];
[dict setObject:[NSMutableArray arrayWithObjects:@"milk", @"eggs", @"cheese", nil] forKey:@"dairy"];
[dict setObject:[NSMutableArray arrayWithObjects:@"steak", @"sausages", @"mince", nil] forKey:@"meat"];

[[dict objectForKey:@"meat"] addObject:@"lamb"];

NSLog( @"Dictionary is %@", dict );

中に 1 つあります GNU Objective-C クラス ライブラリ, 、 しかし ドキュメント かなり不完全なようで、プロジェクトは ホームページ 現在問題が発生しているはずです -- それでも、GPL ソフトウェアがプロジェクトに受け入れられるのであれば、次のようにすることをお勧めします。 ダウンロード そしてソースを確認してください。

CFIOMultimap を明らかにマルチマップの実装です。しかし、書き込みの時のように私はそれを動作させることができませんでした。それはNILS私は下付きのすべての時間を返します。

おそらくそれは固定されており、あなたの使用に適合させることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top