我正在使用OrderBy方法對10,000個元素的字典進行排序,如下所示,並且想知道它的大O.有人知道嗎?在訂購它們之後,我將它們按照該順序添加到新的Dictionary中。這樣做可能有更好的方法,但它適用於我的目的。什麼是字典的OrderBy方法的大O?
這是我的例子:
m_sortedItems = new Dictionary<int,string>();
foreach(KeyValuePair<int,string> item in collection.OrderBy(key => key.Value)){
m_sortedItems.Add(item.Key, item.Value);
}
我查MSDN上,但它沒有列出: http://msdn.microsoft.com/en-us/library/bb534966.aspx
字典沒有OrderBy;可枚舉。由於字典沒有定義的順序,所以沒有什麼特別的要報告。 –
根據http://stackoverflow.com/questions/2799427/what-guarantees-are-there-on-the-run-time-complexity-big-o-of-linq-methods,Linq的OrderBy使用快速排序O(N日誌N)。 –