次のコードがあるとします。
SortedDictionary<int,string> test = new SortedDictionary<int, string> ( );
test.Add ( 1, "one" );
test.Add ( 3, "three" );
test.Add ( 7, "seven" );
test.Add ( 8, "eight" );
int key = GetFirstKeyGreaterThan ( test, 3 ); // expects to get 7
int key2 = GetFirstKeyGreaterThan ( test, 6 ); // expects to get 7
GetFirstKeyGreaterThan メソッドを実装する簡単な方法はありますか? GetEnumerator メソッドを使用して、キー 3 に到達した後で MoveNext を呼び出すことができることはわかっていますが、それは O(n) 操作になります。
キーの挿入と削除に O(log n) が必要なため、SortedList を使用したくありません。