![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 69
SAN_YUN
这个作者很懒,什么都没留下…
展开
-
字符串匹配算法
字符串匹配算法 http://blog.csdn.net/weiqubo/article/details/7300810原创 2012-05-17 00:28:06 · 84 阅读 · 0 评论 -
STL系列
STL系列之一 deque双向队列STL系列之二 stack栈STL系列之三 queue 单向队列STL系列之四 heap 堆STL系列之五 priority_queue 优先级队列STL系列之六 set与hash_set STL系列之七 快速计算x的n次幂 power()的实现 ...原创 2013-01-13 23:42:15 · 83 阅读 · 0 评论 -
大数据量,海量数据 处理方法总结
大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数据的公司经常会问到。下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论。...原创 2013-01-13 23:46:31 · 184 阅读 · 0 评论 -
HAProxy的独门武器:ebtree
原文:http://tech.uc.cn/?p=1031 1. HAProxy和ebtree简介HAProxy是法国人Willy Tarreau个人开发的一个开源软件,目标是应对客户端10000以上的同时连接,为后端应用服务器、数据库服务器提供高性能的负载均衡服务。在底层数据结构方面,旧版本HAProxy曾经使用过红黑树,用于任务调度、负载均衡等方面。但是Willy Tarreau认...原创 2013-12-07 18:57:59 · 91 阅读 · 0 评论 -
Base64笔记
原文:http://www.ruanyifeng.com/blog/2008/06/base64.html作者: 阮一峰日期: 2008年6月23日1.昨天的《MIME笔记》中提到,MIME主要使用两种编码转换方式----Quoted-printable和Base64----将8位的非英语字符转化为7位的ASCII字符。虽然这样的初衷,是为了满足电子邮件中不能直...原创 2014-05-08 16:32:34 · 81 阅读 · 0 评论 -
rank排名算法整理
1.Delicious.com 热门书签排行榜按照"过去60分钟内被收藏的次数"进行排名优点:简单缺点:排名变化不够平滑,缺乏自动淘汰旧项目的机制2. Hacker News根据得票数,系统自动统计出热门文章排行榜,并非得票最多的文章排在第一位,还要考虑时间因素,新文章应该比旧文章更容易得到好的排名。算法实现:http://pastebin.com/ZF57qQPi,上面的代码还...原创 2014-01-07 13:44:56 · 1014 阅读 · 0 评论 -
Integer的numberOfLeadingZeros方法解释
int numberOfLeadingZeros(int i) 指定一个int,返回这个数的二进制串中从最左边算起连续的“0”的总数量。因为int类型的数据长度为32所以高位不足的地方会以“0”填充通过32-Integer.numberOfLeadingZeros(x)得到在二进制中属于几位数,例子: >>> Integer.toBinaryString(4)u...原创 2014-01-13 20:42:59 · 1086 阅读 · 0 评论 -
拆分文件统计topN的问题
如果对一个只包含ip地址文件进行统计,需要求出频率最高的前10个IP地址应该如何处理?文件2G,内存128MB。解决办法:先拆分文件统计,然后再合并?但如何处理如下的问题呢? 对于A,B两组机器,如果取top3,貌似A1,A2,A3就是。但如何避免A6和B6是同一个IP,如果相加会超过A1。其实答案应该是A6,A1,A2。 123456A...原创 2014-01-20 18:48:31 · 290 阅读 · 0 评论 -
一种高效无锁内存队列的实现
原文:http://www.searchtb.com/2012/10/introduction_to_disruptor.html?spm=0.0.0.0.THGuIO Disruptor是LMAX公司开源的一个高效的内存无锁队列。这两天看了一下相关的设计文档和博客,下面尝试进行一下总结。第一部分。引子谈到并发程序设计,有几个概念是避免不了的。1.锁:锁是用来做并发最简单的方式...原创 2014-02-06 10:59:13 · 299 阅读 · 0 评论 -
跳表SkipList的原理和实现
参考:跳表SkipList的原理和实现原创 2014-02-07 17:29:41 · 125 阅读 · 0 评论 -
运算符的优先级
很久没有去深究运算符的优先级了,今天写SQL解析思考了一下。下面这条SQL真正的执行顺序是什么?select * from taobao_category where type=1 or id=801 and type=3 and type=4 改成python脚本:def test(type,id): print type==1 or id==801 and id...原创 2014-02-21 22:06:45 · 177 阅读 · 0 评论 -
统计单词出现频率
这里有一个大文本,文件请从 http://10.125.9.144:8000/document.zip 获取,在解压后大约有20m(实际比赛时文件是1.1G)。 文本中都是英文单词,空格以及英文的标点符号: [.,;-~"?'!] (句号,逗号,分号,破折号,波浪号,双引号,问号,单引号,感叹号)请统计出该文本中最常出现的前10个单词(不区分大小写)。 请注意,在统计中这20个单词请忽略(th...原创 2013-10-07 20:58:51 · 226 阅读 · 0 评论 -
BloomFilter——大规模数据处理利器
参考:http://www.cnblogs.com/heaad/archive/2011/01/02/1924195.html Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合。 一. 实例 为了说明Bloom Filter存在的重要意义,举一个实...原创 2016-04-25 15:09:19 · 111 阅读 · 0 评论 -
PageRank算法(线性代数)
参考:http://www.cnblogs.com/FengYan/archive/2011/11/12/2246461.html 想象一个含有250亿份文件,却没有集中管理机构和馆员的图书馆,而且任何人都可以在任何时间添加新的文件而不需要通知其他人。一方面你可以确定,这庞大的文件堆中有一份文件含有对你至关重要的信息,而另一方面,你又像我们中的大多数人那样没有耐心,想要在几秒钟之内就找...原创 2012-09-15 12:57:08 · 736 阅读 · 0 评论 -
25匹赛马5个跑道算法
25匹赛马,5个跑道,也就是说每次有5匹马可以同时比赛。问最少比赛多少次可以知道跑得最快的5匹马 ?原创 2012-09-02 23:59:11 · 610 阅读 · 0 评论 -
hash算法
Hash,一般翻译做"散列",也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。...原创 2012-05-24 16:27:22 · 99 阅读 · 0 评论 -
定sina微博的全部用户(1亿以上)和标签(uniq的标签30万左右)的关系,系统找出共有2个或以上标签的用户对...
python search: http://www.google.com/cse/home?cx=009376466705745340527%3Acpxfleh5jbc 给定sina微博的全部用户(1亿以上)和标签(uniq的标签30万左右)的关系,系统找出共有2个或以上标签的用户对,并给出这些标签是哪些。input_file:userid,taglistoutput_file:...原创 2012-06-15 15:33:00 · 127 阅读 · 0 评论 -
md5算法
MD5简介: MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。 Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数。请注意我使用了“字节串”而不是“字符串”这个词,是因为这种变换只与字节...原创 2012-06-15 18:11:27 · 140 阅读 · 0 评论 -
布隆过滤器
在日常生活中,包括在设计计算机软件时,我们经常要判断一个元素是否在一个集合中。比如在字处理软件中,需要检查一个英语单词是否拼写正确(也就是要判断它是否在已知的字典中);在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上;在网络爬虫里,一个网址是否被访问过等等。最直接的方法就是将集合中全部的元素存在计算机中,遇到一个新元素时,将它和集合中的元素直接比较即可。一般来讲,计算机中的集合是用哈希...原创 2012-10-23 10:05:03 · 84 阅读 · 0 评论 -
图片压缩
这次乐高的题目是如何提高图片的压缩率。帮助公司省流量的费用。整个过程持续一周。最终的结果相当让人满意,压缩率比之前提高了67.5%,为公司每个月省下至少2W多RMB的流量费用=。=而且这次的研究也让我对图片的压缩有了一定的心得。马上分享一下:选择一个合适的图片处理扩展包。常见的扩展如GD,imagick,Gmagick。老古董的GD丢掉吧,效率很低,而且...原创 2012-07-13 16:53:59 · 109 阅读 · 0 评论 -
Reddit评论排名算法
上一篇文章介绍了Reddit的排名算法,今天继续上一篇文章,需要学习的是reddit的评论排名算法。与文章新闻类排名不同的事,评论类的算法可能发表时间没有什么关系。 目前很多网站采用的评论排名主要有两种,即绝对好评数(好评减去差评)和好评率(好评/总评)。这两种评价方式 都存在很明显的缺陷,以下为事例:A:好评550; 差评450B:好评60;差评40C:好评1;差...原创 2013-03-16 00:48:08 · 532 阅读 · 0 评论 -
各种进制基础知识
10进制是人类最熟悉的数字计算2进制是机器最基本的单位16进制呢?是为了方便表示最基本的数据传输单位字节,因为一个字节8位,16进制2位就能轻松表示1个字节。比如1516进制:print 0x0F2进制:print 0b1111255 16进制:print 0xFF2进制:print 0b11111111如何把一个数字转换成字节数组?以1...原创 2012-11-06 14:37:47 · 683 阅读 · 0 评论 -
算法文档集合
Treelink算法介绍 一些基础算法介绍 高斯模糊的算法 台湾师范大学ACM算法入门教程原创 2012-11-24 15:59:25 · 163 阅读 · 0 评论 -
最大 熵模型
2006年10月8日 上午 07:27:00 发表者:Google 研究员,吴军 [我们在投资时常常讲不要把所有的鸡蛋放在一个篮子里,这样可以降低风险。在信息处理中,这个原理同样适用。在数学上,这个原理称为最大熵原理(the maximum entropy principle)。这是一个非常有意思的题目,但是把它讲清楚要用两个系列的篇幅。] 前段时间,Goo...原创 2012-08-19 22:14:00 · 140 阅读 · 0 评论 -
java Map排序(按key和按value)
1、按照key排序对于java中Map的排序,有排序Map,比如TreeMap,对于这个Map,首先只能按照键排序,其次再put和remove的时候由于需要排序,性能上会有所牺牲。 这种方案,使用hashmap进行创建和添加,如果需要按照key排序,则可以将该hashmap作为参数传递到new TreeMap(hashmap),则可以完成按照key的排序 2、按照valu...原创 2012-12-10 15:54:16 · 97 阅读 · 0 评论 -
MaxEnt: 最大熵模型(Maximum Entropy Models)(一)
刚看完HMM,因为有个ME-HMM方法,所以再看看最大熵模型,最后再把CRF模型看看,这一系列理论大体消化一下,补充一下自己的大脑,方便面试什么的能够应付一些问题。多读书,多思考,肚子里才有东西。==========什么是熵?咱们这里只看信息以及自然界的熵吧。《Big Bang Theory》中Sheldon也经常把这个熵挂在嘴边。在咱们的生活中,你打碎了一块玻璃,或者洒落了一...原创 2012-09-01 13:20:58 · 900 阅读 · 0 评论 -
最大熵模型(Maximum Entropy Models)(二)
上面《MaxEnt: 最大熵模型(Maximum Entropy Models)(一)》其实就是讲了下熵,下面我们继续最大熵模型(Maximum Entropy Models)。最大熵原理指出,当我们需要对一个随机事件的概率分布进行预测时,我们的预测应当满足全部已知的条件,而对未知的情况不要做任何主观假设。在这种情况下,概率分布最均匀,预测的风险最小。因为这时概率分布的信息熵最大,所以...原创 2012-09-01 13:21:48 · 532 阅读 · 0 评论 -
ConcurrentHashMap 的实现原理
概述我们在之前的博文中了解到关于 HashMap 和 Hashtable 这两种集合。其中 HashMap 是非线程安全的,当我们只有一个线程在使用 HashMap 的时候,自然不会有问题,但如果涉及到多个线程,并且有读有写的过程中,HashMap 就不能满足我们的需要了(fail-fast)。在不考虑性能问题的时候,我们的解决方案有 Hashtable 或者Collections.sy...原创 2016-06-12 15:37:13 · 103 阅读 · 0 评论