[解決済み】SortedListとSortedDictionaryの違いは何ですか?
質問
との間に実用的な差はあるのでしょうか?
SortedList<TKey,TValue>
と
SortedDictionary<TKey,TValue>
? 特にどちらかを使って、もう一方を使わないという状況はありますか?
解決方法は?
そうですね。両者の性能特性は大きく異なります。おそらく
SortedList
と
SortedTree
の方が、より実装に近い形で反映されるからです。
それぞれのMSDNドキュメントを見てください(
SortedList
,
SortedDictionary
をご参照ください。以下はその要約です。
SortedDictionary
のドキュメントを参照)。
は、その
SortedDictionary<TKey, TValue>
ジェネリック クラスは、二項探索木で O(log n)検索、ここでnは 辞書の要素数 この点ではSortedList<TKey, TValue>
ジェネリック クラスがあります。この2つのクラスは似たような オブジェクトモデルであり、どちらもO(log n)である。 を検索することができます。この2つのクラスは は、メモリ使用量と速度が異なります。 の挿入と削除を行う。
SortedList<TKey, TValue>
が少ない。 よりもメモリがSortedDictionary<TKey, TValue>
.
SortedDictionary<TKey, TValue>
があります。 より高速な挿入と削除 の操作で、O(log n)となります。 がO(n)であるのとは対照的にSortedList<TKey, TValue>
.リストを一度に入力する場合 ソートされたデータから
SortedList<TKey, TValue>
よりも高速です。SortedDictionary<TKey, TValue>
.
(
SortedList
は、ツリーを使用するのではなく、実際にはソートされた配列を維持します。要素を見つけるためにバイナリサーチを使うのは変わりません)。
関連
-
[解決済み] 'SubSonic.Schema .DatabaseColumn' 型のオブジェクトをシリアライズする際に、循環参照が検出されました。
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] ディープクローンオブジェクト
-
[解決済み] 複数の例外を一度にキャッチする?
-
[解決済み] .NETでのdecimal, float, doubleの違い?
-
[解決済み] IDisposable インターフェースの正しい使用法
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み] IEnumerable<T> と IQueryable<T> を比較する。
-
[解決済み] キーワード「ref」と「out」の違いは何ですか?
-
[解決済み] .NET Coreと.NET Standard Class Libraryのプロジェクトタイプの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Ajax処理で「無効なJSONプリミティブ」と表示される件
-
[解決済み] エンティティタイプ <type> は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み] [Solved] アセンブリ System.Web.Extensions dll はどこにありますか?
-
[解決済み] [Solved] 不正な文字列値: '\xEFxBFxBD' for column
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】Moqを使用してメソッド呼び出しを検証する
-
[解決済み】aspNetCore 2.2.0 - AspNetCoreModuleV2 エラー
-
[解決済み】IntPtrとは一体何なのか?
-
[解決済み] 関数を終了するには?
-
[解決済み】プロセスが実行されているかどうかを知るには?