小编Lem*_*m0n的帖子

布尔搜索数组

我有多个数组,大约有100个可能的值,即:

a[0] = (a, b, c, d)
a[1] = (a, e)
a[2] = (d, f, g)
Run Code Online (Sandbox Code Playgroud)

我想快速返回哪些数组包含(a || b)&&(d || e)

在这个例子中,0和1

我正在考虑按位操作...就像用"1111"代表"abcd"一样; "ad"by"1001",依此类推.然后我可以用一个按位OR解决"OR",然后检查两者是否都是非零

任何人都可以考虑更好的解决方案?这个不是非常实用,因为它似乎不是很容易上升的

有没有DBMS可以快速做到这一点?我尝试使用mongodb,但似乎他们还没有添加"$和"功能(doc说它是1.9.1版本,但我只能下载1.9.0,而且它不稳定)

我认为这是一个"布尔搜索",类似于谷歌一直在做的...所以我猜测有一个更好的方法(可能不是那么快,但更可升级)

c database algorithm database-design

7
推荐指数
1
解决办法
681
查看次数

标签 统计

algorithm ×1

c ×1

database ×1

database-design ×1