Julia之BloomFilters的使用

我们都知道布隆过滤是用来判断一个元素是否在一个集合中的很有效的方法。比如在WPS字处理软件中,需要检查一个单词是否拼写正确;在FBI中需要判断一个嫌疑犯的名字是否在嫌疑名单上;在网络爬虫里,判断一个网址是否被访问过。最简单的解决办法就是采用HashTable的方法来存储,它的好处是快速且精确,缺点是耗费大量内存空间。所以针对耗费空间大的问题,提出了布隆过滤。但是布隆过滤是有误识别率的,也就是说在集合中的元素一定能识别出来,但是不在集合中的元素可能被识别为在集合中,好在这种误识别率的概率比较小,通常可以接受。

进行布隆过滤的第一步就是构造一个布隆过滤器。所以现在Mayuyu就带大家来使用Julia的三方包BloomFilters

在Julia中,有很多比较优秀的包,具体可以参考:http://pkg.julialang.org/ 而我们需要的布隆过滤包在这里:https://github.com/johnmyleswhite/BloomFilters.jl

当然,第一步就是安装BloomFilters包了,在Julia交互模式下,执行如下命令

好了,执行完命令后,Mayuyu的BloomFilters就安装好了,现在开始学习它的使用方法。如下图

在Julia的布隆过滤包中,还有mmap功能,即把文件当内存使用,可以将建立好的布隆过滤数据等写入文件中,以便下次直接用。具体用法可以参考如下链接:

https://github.com/johnmyleswhite/BloomFilters.jl/blob/master/README.md

时间: 2024-11-08 18:00:44

Julia之BloomFilters的使用的相关文章

Julia编程语言

Julia 是一个面向科学计算的高性能动态高级程序设计语言.其语法与其他科学计算语言相似.在许多情况下拥有能与编译型语言相媲美的性能. Julia 是一个面向科学计算的高性能动态高级程序设计语言.其语法与其他科学计算语言相似(手机app开发ty300.com).在许多情况下拥有能与编译型语言相媲美的性能.一群拥有各种语言丰富编程经验的Matlab高级用户,对现有的科学计算编程工具感到不满——这些软件对自己专长的领域表现得非常棒,但在其它领域却非常糟糕.他们想要的是一个开源的软件,它要像C语言一般

数量经济学推荐的Julia教程

http://quant-econ.net/jl/learning_julia.html Julia最为号称和c媲美的运行速度,想python一下简单的语法,虽然发展还不完善,但任然值得去关注. Julia运行学习和python很像,现在安装好了之后就有了一个repl,设置好环境变量后就可以在任何地方调用它了 编写Julia脚本也很简单,sublime安装它的语法高亮和补全扩展就可以了 运行Julia脚本可以在cmd执行 Julia +脚本路径. 当然也可以安装ijulia,这样就可以使用jup

Julia 的 cross product 与 MATLAB 的语法上似不同

MATLAB example 在这里:http://cn.mathworks.com/help/matlab/ref/cross.html#bt9u1o8-2 Julia 0.3.8 按上面示例执行,会得到错误:元素用逗号分开,可得正确结果.

Julia语言简介与环境安装

从今天开始,Mayuyu将要学习一门新的语言,这门语言叫做Julia,为什么要学习它呢? 因为它比较优秀啊! Julia的简介:http://julia-zh-cn.readthedocs.org/en/latest/manual/introduction/ Julia语言设计的目的就是让高性能科学计算为人人所用,它集合很多语言的优点于一身,有C的快速,有Ruby的动态,有Python的通用,有R的在统计学上的得心应手,有Perl的字符串处理,有MatLab的线性代数运算,总之有很多优点,更多了

《GPU高性能编程CUDA实战中文》中第四章的julia实验

在整个过程中出现了各种问题,我先将我调试好的真个项目打包,提供下载. 1 /* 2 * Copyright 1993-2010 NVIDIA Corporation. All rights reserved. 3 * 4 * NVIDIA Corporation and its licensors retain all intellectual property and 5 * proprietary rights in and to this software and related docu

cuda编程学习4——Julia

书上的例子编译会有错误,修改一下行即可. __device__ cuComplex(float a,float b):r(a),i(b){} /* ============================================================================ Name : Julia-CUDA.cu Author : can Version : Copyright : Your copyright notice Description : CUDA co

unity3d shader之Julia集和Mandelbrot集绘制美丽图案 (二)

之前写过一篇Mandelbrot集的代码在这里 这次主要写Julia集的 Mandelbrot 集内的每一个点都对应了一个连通的 Julia 集,Mandelbrot 集合外的点则对应了不连通的 Julia 集 Julia集合可以由下式进行反复迭代得到:f(z) = z^2 + c 这篇文章(www.matrix67.com/blog/archives/4570)讲的非常详细 迭代次数,C值均可调, 先来看看效果: 代码在此: Shader "Custom/julia1x" { Pro

7 Tools for Data Visualization in R, Python, and Julia

7 Tools for Data Visualization in R, Python, and Julia Last week, some examples of creating visualizations with htmlwidgets and R were presented. Fortunately, there are many more options available for creating nice visualizations. Tools and libraries

CPU和GPU实现julia

主要目的是通过对比,学习研究如何编写CUDA程序.julia的算法还是有一定难度的,但不是重点.由于GPU实现了也是做图像识别程序,所以缺省的就是和OPENCV结合起来. 一.CPU实现(julia_cpu.cpp) //julia_cpu 采用cpu实现julia变换 #include "stdafx.h"#include <iostream>#include "opencv2/core/core.hpp"#include "opencv2/