【发布时间】:2011-09-22 17:41:25
【问题描述】:
基本上,我必须实现一个布隆过滤器并使用 char 'a' to 'z' 和 'A' to 'Z' 进行测试(简单易行)。
然后我必须测试误报,但要求说使用“aa”到“ZZ”(字符串)来计算误报(未完成)。
知道这意味着什么吗?
【问题讨论】:
标签: java hash bloom-filter
基本上,我必须实现一个布隆过滤器并使用 char 'a' to 'z' 和 'A' to 'Z' 进行测试(简单易行)。
然后我必须测试误报,但要求说使用“aa”到“ZZ”(字符串)来计算误报(未完成)。
知道这意味着什么吗?
【问题讨论】:
标签: java hash bloom-filter
误报需要实际的数据集,我认为您的教授的意思是:现在将 'a'-'z','A'-'Z' 添加到过滤器(实际数据)中,检查所有字符串“ aa"-"ZZ",统计误报的数量(所有的肯定都是假的,因为没有一个在数据中)并提取比率:#false_positives/#strings_in_range("aa","ZZ")
编辑:在 cmets @Bill 询问如何迭代“aa”-“ZZ”,这是一个简单的代码快照,说明如何做到这一点。
Set<String> set = new HashSet<String>();
for (Character c = 'a';c<='z';c++) {
String lower = c.toString();
String upper = c.toString().toUpperCase();
for (Character k = 'a';k<='z';k++) {
set.add(lower + k.toString());
set.add(lower + k.toString().toUpperCase());
set.add(upper + k.toString());
set.add(upper + k.toString().toUpperCase());
}
}
【讨论】:
Set<String>。