dao*_*udc 7 c# algorithm bit-manipulation
我正在实施Charikar对局部敏感哈希的快速搜索,而我正在寻找一种快速排列位的方法(在MMIX中可以在一次操作中完成的那种事情).
要求是:
我知道Knuth详细介绍了这个,但我想知道是否有任何.NET/C#特定的解决方案.
编辑:我使用的是.NET 3.5版.
由于 C# 不提供 Knuth 在 C 中没有的任何位操作指令,因此不存在特定于 .NET/C# 的解决方案。
同时,.NET确实提供了动态编译,这将帮助您高效地重复执行shuffle。
.NET 是什么版本?最简单的方法可能是使用 Knuth 算法并将结果操作编码在 中Expression<Func<ulong, ulong>>,然后将结果编译为Func<long, long>委托。