我正在使用如下所示的 OrderBy 方法对包含 10,000 个元素的字典进行排序,并想知道它的大 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

最佳答案

字典没有定义的顺序,因此按特定顺序添加项目不是您应该做的事情。

就排序的大 O 而言,O(NlogN) 将成为您将遇到的大多数排序算法的基准。

关于c# - 字典的 OrderBy 方法的大 O 是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12864815/

10-11 09:16