随笔分类 -  Algorithm & Data Structure

摘要:布隆过滤器 (Bloom Filter)是由Burton Howard Bloom于1970年提出,它是一种space efficient的概率型数据结构,用于判断一个元素是否在集合中。在垃圾邮件过滤的黑白名单方法、爬虫(Crawler)的网址判重模块中等等经常被用到。哈希表也能用于判断元素是否在集合中,但是布隆过滤器只需要哈希表的1/8或1/4的空间复杂度就能完成同样的问题。布隆过滤器可以插入元... 阅读全文
posted @ 2011-02-16 23:19 Allen Sun 阅读(58960) 评论(14) 推荐(24) 编辑
摘要:模幂运算常常作为一些算法的中间求解步骤,算法的思路十分巧妙并且高效。模幂运算的描述如下:     已知b, e, m, 求c。形如:         其中,bm (若bm,可转换b为b%=m)     算法一:最显而易见的办法就是先求幂,再取模。例如 ,得到 c = 445。 。 注意到b=4为1位,e=13为2位,m=497为3位,c=445为3位,但是 为8位。这很可能造成溢出... 阅读全文
posted @ 2011-01-30 13:06 Allen Sun 阅读(6647) 评论(0) 推荐(0) 编辑