<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    stone2083

    布隆過濾器(BloomFilter)

    資料:
    wikipedia--bloom filter

    使用場景,原理簡介之中文資料:
    數學之美系列二十一 - 布隆過濾器(Bloom Filter)

    核心內容(摘自Google黑板報文章內容):


    BloomFilter簡易實現:
    public class SimpleBloomFilter {

        
    private static final int   DEFAULT_SIZE = 2 << 24;
        
    private static final int[] seeds        = new int[] { 71113313761, };

        
    private BitSet             bits         = new BitSet(DEFAULT_SIZE);
        
    private SimpleHash[]       func         = new SimpleHash[seeds.length];

        
    public static void main(String[] args) {
            String value 
    = "stone2083@yahoo.cn";
            SimpleBloomFilter filter 
    = new SimpleBloomFilter();
            System.out.println(filter.contains(value));
            filter.add(value);
            System.out.println(filter.contains(value));
        }

        
    public SimpleBloomFilter() {
            
    for (int i = 0; i < seeds.length; i++) {
                func[i] 
    = new SimpleHash(DEFAULT_SIZE, seeds[i]);
            }
        }

        
    public void add(String value) {
            
    for (SimpleHash f : func) {
                bits.set(f.hash(value), 
    true);
            }
        }

        
    public boolean contains(String value) {
            
    if (value == null) {
                
    return false;
            }
            
    boolean ret = true;
            
    for (SimpleHash f : func) {
                ret 
    = ret && bits.get(f.hash(value));
            }
            
    return ret;
        }

        
    public static class SimpleHash {

            
    private int cap;
            
    private int seed;

            
    public SimpleHash(int cap, int seed) {
                
    this.cap = cap;
                
    this.seed = seed;
            }

            
    public int hash(String value) {
                
    int result = 0;
                
    int len = value.length();
                
    for (int i = 0; i < len; i++) {
                    result 
    = seed * result + value.charAt(i);
                }
                
    return (cap - 1& result;
            }

        }

    }



    posted on 2010-01-30 15:00 stone2083 閱讀(2585) 評論(0)  編輯  收藏 所屬分類: java

    主站蜘蛛池模板: 国产亚洲成av片在线观看| 欧洲美熟女乱又伦免费视频| 亚洲成A∨人片天堂网无码| 亚洲人成色77777在线观看| 免费a级毛片无码a∨蜜芽试看| 亚洲高清无在码在线无弹窗 | 国产精品亚洲产品一区二区三区| 午夜亚洲WWW湿好爽| 好吊妞在线新免费视频| 亚洲精品宾馆在线精品酒店| 青青青青青青久久久免费观看| 亚洲熟妇无码八V在线播放| 免费高清在线影片一区| 亚洲中文字幕久久久一区| 成人毛片免费视频| 国产亚洲精品免费| 久久久久亚洲AV综合波多野结衣| 大妹子影视剧在线观看全集免费| 亚洲综合AV在线在线播放| 黄桃AV无码免费一区二区三区| 亚洲AV乱码久久精品蜜桃| 91人人区免费区人人| 亚洲第一页中文字幕| 日本一区二区三区免费高清| 国产av无码专区亚洲av毛片搜 | 99re热免费精品视频观看| 亚洲综合久久精品无码色欲| 国产国产人免费人成免费视频| 高潮内射免费看片| 亚洲国产精品一区二区久久hs| 亚洲成人在线免费观看| 亚洲精品又粗又大又爽A片| 亚洲成?v人片天堂网无码| 久久久久免费精品国产小说| 激情综合亚洲色婷婷五月APP| 全亚洲最新黄色特级网站| 日本卡1卡2卡三卡免费| 亚洲日本VA中文字幕久久道具| 亚洲情侣偷拍精品| 日本视频一区在线观看免费| 丰满亚洲大尺度无码无码专线|