以C#/最快的方式实现稀疏数组,将整数映射到特定的桶/范围号
我最初的问题是我需要在C#中实现一个非常快速的稀疏数组。 最初的想法是使用普通的Dictionary
并将其包装在我自己的类中,只显示TValue
类型参数。 事实certificate这很慢。
所以我的下一个想法是将所需范围内的每个整数( UInt32.MinValue
到UInt32.MaxValue
) UInt32.MinValue
到某个大小的存储桶并使用它。 所以我正在寻找一种将无符号整数X映射到桶Y的好方法,例如:
将数字0-1023映射到8个不同的桶,每个桶包含128个数字,0-127,128-255。
但是,如果某人有更好的方法在C#中实现快速稀疏数组,那么这也是最受欢迎的。
我也注意到,当键是整数时, Dictionary
很慢。 我不确切知道为什么会这样,但我为uint
和ulong
键写了一个更快的哈希表实现:
注意事项/缺点:
根据以下因素,有101种不同的方法来实现稀疏数组:
大多数教科书都有一个关于稀疏arrays的部分,只是在Google上做了大量的点击。 然后你必须将代码翻译成C#,或者只使用其他人编写的代码,我已经找到了两个没有太多努力(我不知道它们有多好)
上述就是C#学习教程:以C#/最快的方式实现稀疏数组,将整数映射到特定的桶/范围号分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1011058.html