【问题标题】:What is the complexity of OrderedDictionary?OrderedDictionary 的复杂度是多少?
【发布时间】:2023-10-05 19:53:01
【问题描述】:

没有人说 OrderedDictionary 有两个元素副本,一个在哈希表中,另一个在列表中,我在 MSDN 上找不到 OrderedList 的复杂性度量。

谢谢

【问题讨论】:

标签: c# .net performance collections


【解决方案1】:

看看

OrderedDictionary: A generic implementation of IOrderedDictionary

这个有序的实现 字典非常擅长查找 操作:数组允许 O(1) 按索引查找和哈希表 允许通过键进行 O(1) 查找。然而, 保留数组的必要性 与哈希表同步意味着 插入/删除操作具有 执行的性能劣势 数组上的那些操作(O(n)在 最差)。当然,还有 存储的额外内存需求 两种数据结构。因为这些 缺点,OrderedDictionary 只应在插入/删除时使用 操作将是最小的,并且有 是需要有效访问 按索引和/或键的元素。

【讨论】: