gpt4 book ai didi

c# - 高效的 Int32/Uint32 排序映射/稀疏数组

转载 作者:太空宇宙 更新时间:2023-11-03 14:20:52 24 4
gpt4 key购买 nike

我正在寻找专门(且快速)的 Int32/UInt32 排序映射(最好比 System.Collections.Generic.SortedDictionary 更快,其中 K 是 Int32 或 UInt32)。

它将用作稀疏数组,是否有任何 .NET 的实现?

最佳答案

如评论中所述,我将编写一个自定义集合,它同时使用 SortedDictionary 和常规 Dictionary 作为其后备存储。它会使您的内存使用量加倍,但它是查找和迭代的最佳性能。修改会比较慢,但听起来您最感兴趣的是快速访问。

public class DoubleDictionary<TKey, TValue> : IDictionary<TKey, TValue>
{
private Dictionary<TKey, TValue> backingHash = new Dictionary<TKey, TValue>();
private SortedDictionary<TKey, TValue> backingTree = new SortedDictionary<TKey, TValue>();

// For all the modify methods, do it in both.
// For all retrieval methods, pick one of the backing dictionaries, and just use that one.
// For example, contains and get on the Hash, iteration on the Tree.
}

关于c# - 高效的 Int32/Uint32 排序映射/稀疏数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5434721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com