Judy array是可能表示稀疏数组或一组值的快速数据结构.是否有C#管理语言的实现?谢谢
解决方法
值得注意的是,如果您对他们进行Google搜索,通常称之为Judy Trees或Judy Tries.
我也在寻找一个.Net实现,但没有发现.
还值得注意的是:
该实现围绕有效的高速缓存使用进行大量设计,因为这样的实现细节可能高度依赖于在子结构内使用的某些构造的大小.在这方面,A .Net管理的实施可能会有所不同.
有一些重要的障碍,我可以看到(可能更多的是我的简短扫描错过)
> API具有一些相当的反OO方面(例如,一个空指针被视为一个空树)这样简单化,将状态指针移动到LHS并使函数实例方法转换为C将无法正常工作.
我看到的子结构的实现大量使用指针.我看不到这些被有效地转换为托管语言的引用.
>这个实现是对很多非常复杂的想法进行精炼,这些想法掩盖了公共api的简单性.
>代码库是大约20K行(大部分是复杂的),这不会把我当成一个简单的端口.
您可以使用库并将C代码包装在C/C++LI中(可能简单地在内部保持一个指针,并且所有c调用都指向这个指针).这将提供一个简单的实现,但本机实现的链接库可能是有问题的(可能是内存分配).您也可能需要处理在转换时将.Net字符串转换为纯旧字节*(或直接与字节配合)