Csharp/C#教程:以C#/最快的方式实现稀疏数组,将整数映射到特定的桶/范围号分享


以C#/最快的方式实现稀疏数组,将整数映射到特定的桶/范围号

我最初的问题是我需要在C#中实现一个非常快速的稀疏数组。 最初的想法是使用普通的Dictionary并将其包装在我自己的类中,只显示TValue类型参数。 事实certificate这很慢。

所以我的下一个想法是将所需范围内的每个整数( UInt32.MinValueUInt32.MaxValueUInt32.MinValue到某个大小的存储桶并使用它。 所以我正在寻找一种将无符号整数X映射到桶Y的好方法,例如:

将数字0-1023映射到8个不同的桶,每个桶包含128个数字,0-127,128-255。

但是,如果某人有更好的方法在C#中实现快速稀疏数组,那么这也是最受欢迎的。

我也注意到,当键是整数时, Dictionary很慢。 我不确切知道为什么会这样,但我为uintulong键写了一个更快的哈希表实现:

注意事项/缺点:

根据以下因素,有101种不同的方法来实现稀疏数组:

大多数教科书都有一个关于稀疏arrays的部分,只是在Google上做了大量的点击。 然后你必须将代码翻译成C#,或者只使用其他人编写的代码,我已经找到了两个没有太多努力(我不知道它们有多好)

上述就是C#学习教程:以C#/最快的方式实现稀疏数组,将整数映射到特定的桶/范围号分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1011058.html

(0)
上一篇 2021年12月29日
下一篇 2021年12月29日

精彩推荐