![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
algorithm
文章平均质量分 81
dannyPolyu
这个作者很懒,什么都没留下…
展开
-
归并排序
归并排序的应用场景是当文件太大,没有办法一次行读入内存。则可以考虑归并排序,步骤如下:1. 先将大文件依次读取,固定长度的数据,然后使用排序算法,将这些数据做内存排序;2. 将排序好的部分数据存入临时文件中;3. loop 1~2 直到大文件中的数据,被读完且排序后存入到临时文件中;4. 读取这N个临时文件,选取最小的做归并排序。 归并排序是一种稳定排序方法。 程序转载 2013-07-06 21:15:35 · 502 阅读 · 0 评论 -
中缀和后缀表达式
前缀表达式 (Prefix Notation) 是指将运算符写在前面操作数写在后面的不包含括号的表达式,而且为了纪念其发明者波兰数学家Jan Lukasiewicz所以前缀表达式也叫做“波兰表达式”。比如- 1 + 2 3后缀表达式(Postfix Notation) 与之相反,是指运算符写在操作数后面的不含括号的算术表达式,也叫做逆波兰表达式。比如1 2 3 + -中缀表原创 2013-06-23 23:20:11 · 689 阅读 · 0 评论 -
Bloom Filter 原理 及C++ 实现
布隆过滤器[1](Bloom Filter)是由布隆(Burton Howard Bloom)在1970年提出的。它实际上是由一个很长的二进制向量和一系列随机映射函数组成,布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率(假正例False positives,即Bloom Filter报告某一元素存在于某集合中,但是实原创 2013-07-13 18:04:51 · 4859 阅读 · 1 评论 -
文档的Jaccard相似度, MinHash, 及MinHash签名
MinHash 算法由 Andrei Broder (1997) 提出的, 它是一种快速计算海量文档相似度的近似方法。开始被用在AltaVista 搜索引擎上,用于检测两个duplicate web pages, 如果两个web pages非常的像,则把这个page丢掉。Minhash也被用在lage-scale clustering 算法中。本文的结构1. 文本的Jaccard相似度;原创 2013-07-21 18:06:00 · 5547 阅读 · 0 评论 -
快速排序 及应用
快速排序因其排序效率高, 成为 二十世纪最伟大的10大算法之一。 本文根据Introduction of algorithm (IOA)和 数据结构 李春葆版,研究快速排序算法。快速排序算法最重要在Partition 过程,即讲数组A[p, ..., r]排序,使得 A[p, ..., q-1]首先给出IOA上的 算法流程QUICKSORT(A, p, r)1 if p < r原创 2013-07-06 21:35:55 · 883 阅读 · 0 评论 -
C 版 位图排序法
问题: 给10^7 个 不重复的整数, 排序位图实现: 基本思路: 使用一位来表示一个数 例如集合 {1, 3, 5, 8}, 可以用 位图 {10101001} 来表示。即对应位置为1 如下图所示. 关键操作有: 1) 找到数据所对应的字节位置 2)找到数据对应的字节中位位置 3) 判断某位为1, 置某位为1 etc方法: 1) 找到 对应字节位置: 如果系统是32原创 2013-06-20 21:24:53 · 622 阅读 · 0 评论