0

検索する連想配列について説明する必要があります。キーと値を使用できます。関数add、delete、getBy1st(キーで検索)、getBy2nd(値で検索)を使用します。たとえば、C ++の場合:

symmap<std::string, int> m;  
m.insert(make_pair<std::string,int> ("hello", 1));
m.insert(make_pair<std::string,int> ("wow", 2));
...
m.getBy1st("hello"); // returns 1
m.getBy2nd(2);// returns "wow"

O(log(n))で機能し、std::pairに格納されます。データ構造が何を格納するために使用されたかを判断できません。多分私はそれを保存するためにrb-treeのいくつかのバリエーションを使うことができますか?

4

2 に答える 2

2

これはBoost.Bimapによく似ています。

于 2010-07-18T02:17:32.837 に答える
1

データを格納するためにハッシュテーブルのペアを使用してみませんか?一方はT1からT2にハッシュし、もう一方は反対方向にハッシュしますか?

于 2010-07-17T23:37:22.100 に答える