堆排序:时间复杂度:O(nlogN)数据结构:堆,可以认为是一个完全二叉树特点:序号为i节点的父节点序号是i/2;左孩子节点序号是2*i;右孩子节点序号为2*i+1;使用对排序的步骤:1.构造堆(全部排序)2.构造固定大小的堆,然后依次处理剩余元素(TopN)
分类:
编程语言 时间:
2015-10-12 19:23:04
阅读次数:
128
TopN问题在搜索引擎、推荐系统领域应用很广,如果用我们较为常见的语言,如C、C++、Java等,代码量至少也得五行,但是用Python的话,只用一个函数就能搞定,只需引入heapq(堆队列)这个数据结构即可。今天偶然看到这个库,特意记下之。先看一个例子:1 >>> import heapq2 >>...
分类:
编程语言 时间:
2015-09-14 18:05:59
阅读次数:
261
作业设计与资料链接: http://pan.baidu.com/s/1o6MJTyi 密码: 628d一、 作业要求根据关注列表relsample.json文件,设计MapReduce算法得到被关注次数最多的前十人,即寻找谁是大V。二、 算法设计第一个Mapper用于解析json文件:从relsam...
分类:
编程语言 时间:
2015-06-15 23:43:39
阅读次数:
280
bob, joe, bob, jane, bob, joe, jackbob = 3 joe = 2topN(2) = bob, joe .interface TopN { void insert(String query); List getTop(int n);}用map来存string在数.....
分类:
其他好文 时间:
2015-06-14 20:02:24
阅读次数:
142
Linux中的Redis缓存服务器一、Redis基础部分:1、redis介绍与安装比mysql快10倍以上*****************redis适用场合****************1.取最新N个数据的操作2.排行榜应用,取TOPN操作3.需要精确设定过期时间的应用4.计数器应用5.Uniq...
分类:
系统相关 时间:
2015-04-11 14:35:11
阅读次数:
177
TopN算法:从已经存在的数组中,找出最大(或最小)的前n个元素。算法(以找最大的n个元素为例):
1. 取出数组的前n个元素,创建长度为n的小根堆;
2. 从n开始循环数组的剩余元素,如果当前元素比小根堆的根节点大,则将当前元素设置成小根堆的根节点,并通过调整让堆保持小根堆;
3. 循环完成后,小根堆中的所有元素就是需要找的最大的n个元素;
4. 根据需要对小根堆中的所有元素继续利用堆排序...
分类:
编程语言 时间:
2015-03-08 18:52:17
阅读次数:
203
MySQL分组然后取每个分组中按照某些字段排序的topN条数据
建表
CREATE TABLE `t` (
`a` int(11) DEFAULT NULL,
`b` int(11) DEFAULT NULL,
`c` int(11) DEFAULT NULL,
`itime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UP...
分类:
数据库 时间:
2014-12-04 20:00:15
阅读次数:
279
不是搞算法的,但最近用到这个,所以按个人的理解总结一下要点,可能有理解上的错误,欢迎指正批评。目前场景是用于可能性预测。1.逻辑回归模型计算出来的是相对可能性,而非概率,所以非常适合topN选择等问题;如果用于分类,则其用于分割的阈值通过指标参数确定。总体上来说,更适合求topN。2.仅能用于线性问...
分类:
其他好文 时间:
2014-11-16 01:52:25
阅读次数:
217
DescriptionCraig is fond of planes. Making photographs of planes forms a major part of his daily life. Since he tries to stimulate his social life, an...
分类:
其他好文 时间:
2014-09-28 22:46:45
阅读次数:
193
计算topNwords的topology,用于比如trendingtopicsortrendingimagesonTwitter.实现了滑动窗口计数和TopN排序,比较有意思,具体分析一下代码Topology这是一个稍微复杂些的topology,主要体现在使用不同的grouping方式,fields...
分类:
其他好文 时间:
2014-09-19 21:05:06
阅读次数:
274