大规模数据操作
jiyanfeng1
喜欢算法和编程的工科男
展开
-
从海量数据中找出中位数
题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可(内存限制为 2G的意思就是,可以使用2G的空间来运行程序,而不考虑这台机器上的其他软件的占用内存)。关于中位数:数据排序后,位置在最中间的数值。即将数据分成两部分,一部分大于该数值,一部分小于该数值。中位数的位置:当样本数为奇数时,中位数=(N+1)/2 ; 当样本数为偶数时,中位数为N/2与1+转载 2012-10-19 08:56:52 · 10097 阅读 · 1 评论 -
用户的输入常常会有错误,错误主要分三种情况,多一个,少一个,写错一个。
海量数据查询问题:用户的输入常常会有错误,错误主要分三种情况,多一个,少一个,写错一个。假如我们在数据库中存储了所有正确的输入,利用什么技术,例如输入一个错误query,来得到所有正确的query。这个题目是hr提示我的,其实我也没有什么思路想到的是hash表对正确的数据存储的时候做如下处理:例如我们要存储abcdef,首先存储abcdef状转载 2012-10-19 09:44:20 · 1540 阅读 · 0 评论 -
分布式搜索之索引分区
转自:http://geek.renren.com/?tag=%E5%80%92%E6%8E%92%E7%B4%A2%E5%BC%95什么是倒排索引(Inverted Index) ?是搜索引擎最核心的数据结构,通过对document里面的数据进行切词并建立term到document的反向映射,来达到根据用户的query来快速定位想要查找的document。为了方便理解大家可以假设转载 2012-11-17 11:29:16 · 5419 阅读 · 0 评论 -
Google面试题:找几百亿数据的中值
Google面试题:找几百亿数据的中值http://blog.csdn.net/jiyanfeng1/article/details/8088237有几百亿的整数,分布的存储到几百台通过网络连接的计算机上,你能否开发出一个算法和系统,找出这几百亿数据的中值?就是在一组排序好的数据中居于中间的数。显然,一台机器是装不下所有的数据,也尽量少用网络带宽。我的算法训练挺少的,只能自己谈些自转载 2012-10-18 02:42:44 · 6017 阅读 · 1 评论 -
百度笔试题目剖析——英文拼写纠错
题目: 在用户输入英文单词时,经常发生错误,我们需要对其进行纠错。假设已经有一个包含了正确英文单词的词典,请你设计一个拼写纠错的程序。(1)请描述你解决这个问题的思路;(2)请给出主要的处理流程,算法,以及算法的复杂度;(3)请描述可能的改进(改进的方向如效果,性能等等,这是一个开放问题)。 网上流传解答: (1)思路:字典以字母键树组织,在用户输入同时匹配转载 2014-09-18 23:35:20 · 6991 阅读 · 0 评论