0

特定の位置から開始する sortedset を列挙したいと思います。私のセットに [1,2,10,23,30] が含まれているとします。10を検索して、その位置から列挙したいと思います。ソートされたセット内の固定位置からの列挙は、O(n) で実行されると思います。n は、アクセスする要素の数です。しかし、インデックスによるアクセスは O(log n) です。したがって、find 10 と言ってインデックス 2 を取得してから、インデックス 2 - N の for ループを実行すると、ランタイム O(n log n) になり、これは受け入れられません。

誰でもここで経験がありますか?

4

2 に答える 2

1

GetViewBetweenを使用します。これは、範囲スキャンを目的として作成されています。

新しいクラスを使用するときはいつでも、Reflector でそのメンバーを調べて、そこに役立つ宝石を見つけようとします。

于 2013-01-27T17:25:15.043 に答える
0

s.SkipWhile(x => x < 10)ここO(n)で、n はリスト内の要素の数です。

ある要素から次の要素への移動は迅速です。インデックスで検索すると、最初からi番目の要素に移動しない場合があります。

于 2013-01-27T17:13:03.927 に答える