2012-01-20 9 views
2

私は一意の整数の束を持っており、与えられた整数がそれらの間で見つけられれば、私はできるだけ早く決定したいと思います。O(1)ルックアップで.NET集合コレクション?

Dictionary(Of TKey, TValue).ContainsKeyのドキュメントでは、値が辞書に存在するかどうかをチェックすると、O(1)操作に近づくと言います。だから私がDictionary<int, bool>のようなものを使用して、与えられた整数値が存在するかどうかを調べると、私の問題は解決されます。しかし、この解決法では私のキーのバール値を不必要に保存しており、これを行うためのより簡単な方法が必要であると思われます。

.NET Frameworkにこの問題の組み込みのソリューションがありますか?

答えて

5

.NET 3.5の時点でHashSet<T>があります。これはおそらくあなたが望むものです。

+0

私はHashSet について懸念しましたが、このスレッドで対処されています:http://stackoverflow.com/questions/3562141/o1-maintained-in-hashset-lookups-when-using-alternative-comparator – kahoon

関連する問題