c# - 小型集合的快速数据结构

标签 c# .net data-structures f#

我需要一种可以非常快速地处理小型集合(10-20 个字符串,最多 50 个,长度不一)的数据结构。假阳性是可以的,但假阴性则不行。

最后一个要求使布隆过滤器看起来很合适,但我不确定它们的速度,还有其他建议吗?

编辑:集合只需要支持插入+成员测试。

最佳答案

使用 for 循环通过 String.Equals 检查成员资格的字符串数组怎么样?

对于集合这种小而奇特的数据结构可能会产生过多的开销,而 big-oh 不适用。您是否尝试过做最简单的事情并对其进行测量?

(如果误报没问题,您还可以保留例如 1024 个 bool 值的数组,您可以通过仅查看前两个字符的最低 5 位来计算字符串的糟糕“散列”,从而得到 10 位 bool 数组的索引。看起来这只是几条指令长。)

关于c# - 小型集合的快速数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2617968/

相关文章:

C - 如何更改函数外部的指针?

java - 如何从其他类中调用数据结构

c# - 访问 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData

c# - SelectiveScrollingGrid 是否只卡住第一列的列?

c# - WCF ChannelFactory 转换接口(interface)到 IClientChannel 可疑转换

c# - 在 C# 中通过 Google Apps 发送电子邮件

.net - 从 Monitor 所有者以外的另一个线程释放锁

java - 如何制作一个也考虑元素内容的优先级队列?

c# - 调整大小时将组框对齐到包含的控件

c# - 内存型号 : preventing store-release and load-acquire reordering