diff --git a/README.md b/README.md index a4824db960c0b967c036e1929d37e41838804e2c..f44346b93a996aa6b9edf90816cbdbe09008e0f1 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,19 @@ # 大数据存储系统与管理作业2022 -本仓库用于提交**大数据存储系统与管理作业2022**。 +U201914987-CS1903-陆云龙 -# 使用方法 + --课程 -1. 开启Github账号,用上Git + ---BloomFilter代码 - * Git入门可参考 - * git - 简明指南 - * 未来自学 - * 如何高效利用GitHub - * Github简明教程 - * 图解Git + ---课程报告.doc -2. Fork此仓库至自己账号 + ---课程报告.pdf - * Fork功能位于页面右上角 - * Fork操作将自动跳转进自己账号中"克隆"仓库 + --实验 -3. 将仓库抓取至本地 + ---测试数据data.xlsx - * 选择一个工作目录用于存放本地仓库,开终端窗口进入目录 - * 使用命令 `git clone git@github.com:(用户名)/iot-storage-experiment-assignment-2022.git` + ---课程报告.doc -4. 在本地仓库中,用 :point_right: **_自己学号_** :exclamation: 建立文件夹 - - * 在这个文件夹里面编写报告,保存 - * 用`git commit`操作来提交,`git push`操作来推送进自己Fork之仓库 - -5. 基本完稿即可发起Pull请求 - - * Pull请求即为向原始仓库要求合并,即**交作业** - * 教师完成合并后作业将呈现于原始作业仓库中,完成提交 - * 后续如果有更新,还可以提交、推送后再次发起Pull请求 - -6. 作业提交样式参考 - - * + ---课程报告.pdf diff --git "a/U201914987/\345\256\236\351\252\214/data.xlsx" "b/U201914987/\345\256\236\351\252\214/data.xlsx" new file mode 100644 index 0000000000000000000000000000000000000000..cdc5b899cb242198aef5146ce776f83a30357302 Binary files /dev/null and "b/U201914987/\345\256\236\351\252\214/data.xlsx" differ diff --git "a/U201914987/\345\256\236\351\252\214/\345\244\247\346\225\260\346\215\256\345\255\230\345\202\250\347\263\273\347\273\237\344\270\216\347\256\241\347\220\206\345\256\236\351\252\214.doc" "b/U201914987/\345\256\236\351\252\214/\345\244\247\346\225\260\346\215\256\345\255\230\345\202\250\347\263\273\347\273\237\344\270\216\347\256\241\347\220\206\345\256\236\351\252\214.doc" new file mode 100644 index 0000000000000000000000000000000000000000..358eb5ee98db29840e15fd65fdfc0fcf792a2fdf Binary files /dev/null and "b/U201914987/\345\256\236\351\252\214/\345\244\247\346\225\260\346\215\256\345\255\230\345\202\250\347\263\273\347\273\237\344\270\216\347\256\241\347\220\206\345\256\236\351\252\214.doc" differ diff --git "a/U201914987/\345\256\236\351\252\214/\345\244\247\346\225\260\346\215\256\345\255\230\345\202\250\347\263\273\347\273\237\344\270\216\347\256\241\347\220\206\345\256\236\351\252\214.pdf" "b/U201914987/\345\256\236\351\252\214/\345\244\247\346\225\260\346\215\256\345\255\230\345\202\250\347\263\273\347\273\237\344\270\216\347\256\241\347\220\206\345\256\236\351\252\214.pdf" new file mode 100644 index 0000000000000000000000000000000000000000..24b4aa8ec420649c993aa1896cd47be0f033ee9d Binary files /dev/null and "b/U201914987/\345\256\236\351\252\214/\345\244\247\346\225\260\346\215\256\345\255\230\345\202\250\347\263\273\347\273\237\344\270\216\347\256\241\347\220\206\345\256\236\351\252\214.pdf" differ diff --git "a/U201914987/\350\257\276\347\250\213/BloomFilter/MultiBloomFilter.java" "b/U201914987/\350\257\276\347\250\213/BloomFilter/MultiBloomFilter.java" new file mode 100644 index 0000000000000000000000000000000000000000..3f5fe7be45eda965d488abca13fdc2ea9bb5dfb2 --- /dev/null +++ "b/U201914987/\350\257\276\347\250\213/BloomFilter/MultiBloomFilter.java" @@ -0,0 +1,85 @@ +package BloomFilter; + +import java.util.BitSet; + +public class MultiBloomFilter { + //设置容量 + private static final int SIZE=32; + //各个hash函数的应当有不同的seed,选取素数2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,91,101,103 + private static final int[][] seeds={{3,7,13}, + {5,11,11},{1,2,3}}; + + private BitSet[] bits=new BitSet[seeds.length]; + private MultiSimpleHash[][] func=new MultiSimpleHash[seeds.length][seeds[0].length]; + + public MultiBloomFilter(){ + for(int i=0;i(); + List test=new ArrayList(); + try{ + br1=new BufferedReader(new FileReader("D:\\java\\BloomFilter\\src\\BloomFilter\\input.txt")); + br2=new BufferedReader(new FileReader("D:\\java\\BloomFilter\\src\\BloomFilter\\test.txt")); + String line=br1.readLine(); + while(line!=null){ + input.add(line); + line= br1.readLine(); + } + String cur= br2.readLine(); + while(cur!=null){ + test.add(cur); + cur=br2.readLine(); + } + }catch (IOException e) { + e.printStackTrace(); + } + finally { + try { + if (br1 != null) { + br1.close(); + } + if (br2 != null) { + br2.close(); + } + }catch (IOException f){ + f.printStackTrace(); + } + } + int n=input.size(); + MultiBloomFilter bloomFilter=new MultiBloomFilter(); + String[] temp=new String[2]; + for(int i=0;i