問題タブ [sorteddictionary]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - SortedListとSortedDictionaryの違いは何ですか?
SortedList<TKey,TValue>
aとaの間に実際の違いはありSortedDictionary<TKey,TValue>
ますか?どちらか一方を具体的に使用し、もう一方を使用しない状況はありますか?
c# - Eval() を使用して asp Repeater の SortedDictionary の値を参照するにはどうすればよいですか?
メモリを大量に消費する DataView から、メモリ効率の良い並べ替え可能なデータ構造である SortedDictionary に切り替えるのは賢明だと思いました。<%# または Eval() 式でデータソースからキーと値を取得する方法がわかりません。
助言がありますか?
f# - readlockとwritelockを使用したSortedDictionary.iteriの同期
iteri関数を使用する場合、readLockはどこに配置しますか?
c# - SortedList を使用する場合SortedDictionary を介して?
これは、「 SortedListとSortedDictionaryの違いは何ですか?」というこの質問と重複しているように見える場合があります。残念ながら、答えはMSDNのドキュメントを引用するだけであり(パフォーマンスとメモリの使用に違いがあることを明確に述べています)、実際には質問に答えていません.
実際(したがって、この質問は同じ回答を得られません)、MSDN によると:
ジェネリック クラスは、O(log n) 検索を行う二分探索木です。
SortedList<TKey, TValue>
ここで、n はディクショナリ内の要素の数です。この点では、SortedDictionary<TKey, TValue>
ジェネリック クラスに似ています。2 つのクラスのオブジェクト モデルは類似しており、どちらも O(log n) の取得が可能です。2 つのクラスの違いは、メモリの使用と挿入と削除の速度です。
SortedList<TKey, TValue>
は より少ないメモリを使用しますSortedDictionary<TKey, TValue>
。
SortedDictionary<TKey, TValue>
の O(n) とは対照的に、O(log n) は、並べ替えられていないデータの挿入および削除操作が高速ですSortedList<TKey, TValue>
。リストが並べ替えられたデータから一度に入力される場合、
SortedList<TKey, TValue>
は よりも高速ですSortedDictionary<TKey, TValue>
。
したがって、並べ替えられていないデータに対してより高速な挿入および削除操作が必要でない限り、明らかにこれがSortedList<TKey, TValue>
より良い選択であることを示しています。
上記の情報を考えると、SortedDictionary<TKey, TValue>
? パフォーマンス情報に基づいて、実際にはまったく必要がないことを意味しSortedDictionary<TKey, TValue>
ます。
c# - SortedDictionary の i 番目の値の設定
インデックスによってアクセスされる、sortedDictionary の要素の値を設定する必要があります。
いえ
以下は、インデックスではなくキーによってアクセスされるため、正しくないことに注意してください。
次の解決策を思いつきましたが、直感的には遅いことがわかります。キーによるアクセスは O(log N)、インデックスによるアクセスは O(1) と仮定していますが、確かではありません。
背景:
高速な挿入、削除、検索が必要で、隣接する要素にアクセスできるようにするために、SortedDictionary を使用しています。(つまり、次に高い、または次に低い。) 効率は重要です。
c# - SortedList<>、SortedDictionary<>、Dictionary<>
私はそれを見つけて、同じインターフェースSortedList<TKey, TValue>
SortedDictionary<TKey, TValue>
をDictionary<TKey, TValue>
実装しています。
- いつ何度も選択する必要が
SortedList
ありますSortedDictionary
かDictionary
? - アプリケーションに関して
SortedList
とはどう違いますか?SortedDictionary
c# - SortedDictionaryの最後の要素を取得します
この質問が表示されます。
.Net3.5のSortedDictionaryの最後の要素を取得するにはどうすればよいですか。
vb.net - SortedDictionary の動作
アプリケーションで SortedDictonary(Of String, String) を使用していますが、奇妙な並べ替え動作が発生します。次のコード例を検討してください。
キーが「'A」、「'B」、「'C」、「A」、「B」、「C」のようにソートされることを期待します。これは、キーを「手で」比較したときに得られるものです。 < 演算子を介して。それでも、キーを反復すると、「A」、「'A」、「B」、「'B」、「C」、「'C」が返されます。
SortedDictionary の動作を変更して、'
最初から始まる単語を並べ替えるにはどうすればよいですか?
CFPさん、ありがとう
.net - SortedList 対 SortedDictionary 対 Sort()
これは、このような質問の続きです。
パフォーマンスを微調整するためのガイドラインはありますか? Big-O の利益を意味するのではなく、直線的な時間を節約するだけです。
たとえば、事前に並べ替えを行うと、または でどれくらい節約できますSortedList
かSortedDictionary
?
並べ替える 3 つのプロパティを持つ人物クラスがあるとします。そのうちの 1 つは年齢です。最初にオブジェクトを年齢別にバケット化する必要がありますか?
最初に 1 つのプロパティで並べ替えてから、結果のリスト/辞書を使用して 2 つのプロパティで並べ替える必要がありますか?
他に思いつく最適化はありますか?