海量数据搜索、存储、查询、排序算法
http://hi.baidu.com/bellgrade/item/ac4febc7befd657089ad9eaa
海量数据库的应用,如国家的人口管理系统,户籍档案管理系统,在这样的海量数据库应用中,数据库的存储设计和结构优化(如索引优化)、数据库的查询优化及分页算法尤为重要!
随着互联网的日益普及,海量信息的增长,网格运算的到来,海量数据存储产品和海量数据存储技术方案的需求更为市场所需。
同时,实际的海量数据处理,更是涉及很多细节,包括 海量数据存储 (物理存储、逻辑存储、海量数据库的备份)、数据采集、海量数据查询(海量数据分页、海量数据排序)、海量数据安全和管理等。
百度、google海量数据搜索算法题解
下面是某同仁在baidu和google的笔试中遇到的两道“百度、google海量数据搜索算法题解”
Google和baidu,人家的数据量在那里摆着,他们的命题思路很明确,不要求具体语言,只要求程序的效率和可行性,题目大多数是关于海量数据搜索的算法问题。
百度、google的海量数据搜索算法题
1、有1亿个浮点数,请找出其中对大的10000个。提示:假设每个浮点数占4个字节,1亿个浮点数就要站到相当大的空间,因此不能一次将全部读入内存进行排序。
2、有一篇英文文章(也就是说每个单词之间由空格分隔),请找出“csdn”着个单词出现的次数,要求效率最高,并写出算法的时间级。
Peak Wong的海量数据搜索算法题解
1、有1亿个浮点数,请找出其中对大的10000个。提示:假设每个浮点数占4个字节,1亿个浮点数就要站到相当大的空间,因此不能一次将全部读入内存进行排序。
~~~~~~~~~~~~~
其实占用内存不算大, 可以接受. 呵呵.
既然不可以一次读入内存, 那可以这么试试:
方法1: 读出100w个数据, 找出最大的1w个, 如果这100w数据选择够理想, 那么最小的这1w个数据里面最小的为基准, 可以过滤掉1亿数据里面99%的数据, 最后就再一次在剩下的100w(1%)里面找出最大的1w个咯~~
方法2: 分块, 比如100w一个块, 找出最大1w个, 一次下来就剩下100w数据需要找出1w个了.
对于上面提到的找出100w个数据里面最大的1w个, 说起来比较罗嗦, 还是说说找到第1w个大的数字的方法:
用快速排序的方法, 分2堆, 如果大的那堆个数N大于1w个, 继续对大堆快速排序一次分成2堆, 如果大堆个数N小于1w, 就在小的那堆里面快速排序一次, 找第10000-N大的数字; 递归以上过程, 就可以找到第1w大的数. 据说也是STL的search_n()的方法;
参考上面的找出第1w大数字, 相信楼主就可以类似的方法找出前1w大数字了.
第二个问题,其实很简单。
假设不区分大小写,由于英文字母有26个,因此,可以将单词映射为数字。csdn被映射成:
( 'c '- 'a ')*32*32*32+( 's '- 'a ')*32*32+( 'd '- 'a ')*32+( 'n '- 'a ')
即:( 'c '- 'a ')*(1 < <15)+( 's '- 'a ')*(1 < <10)+( 'd '- 'a ')*(1 < <5)+( 'n '- 'a ')
海量数据搜索、存储、查询、排序算法相关推荐
- 海量数据搜索算法优化-存储/查询/排序算法
海量数据库的应用,如国家的人口管理系统,户籍档案管理系统,在这样的海量数据库应用中,数据库的存储设计和结构优化(如索引优化).数据库的查询优化及分页算法尤为重要! 随着互联网的日益普及,海量信息的增长 ...
- 邻接表存储 - 拓扑排序算法
拓扑排序:用下面的例子介绍------> ---------------------------------------------------------------------------- ...
- Elasticsearch实现商品搜索(关键字查询 条件筛选 规格过滤 价格区间搜索 分页查询 排序查询 高亮查询)
Elasticsearch实现商品搜索 商品搜索 1.根据关键字查询 2.条件筛选 2.1 品牌筛选 2.1.1 需求分析 2.1.2 代码实现 2.2 规格过滤 2.2.1 需求分析 2.2.2 代 ...
- 阿里文娱搜索排序算法实践和思考(附交流视频和PPT下载链接)
开工大吉! 本次分享以优酷为例介绍阿里文娱视频搜索的相关业务和算法体系,视频搜索基础相关性和排序算法的特点和挑战以及技术实践方案:听众还了解了优酷在多模态视频搜索上的探索和实践技术方案. 内容摘要 ▽ ...
- 电商搜索“优化商品排序”实践方案
一.案例背景 某导购类电商APP,与淘宝天猫等一线商家合作,亿级商品索引量,类目和子类目多层嵌套,商品有不同子款式和尺码,搜索和筛选需求复杂. 通过采用分销+券模式,优惠券帮助普通C用户降低了单品价格 ...
- 爱奇艺搜索排序算法实践(内附福利)
7月3日下午,爱奇艺技术产品团队举办了"i技术会"线下技术沙龙,本次技术会的主题是"NLP与搜索".我们邀请到了来自字节跳动.去哪儿和腾讯的技术专家,与爱奇艺技 ...
- Python数据结构学习笔记——搜索与排序算法
目录 一.搜索 (一)搜索的方法 (二)顺序搜索 (三)二分搜索 二.排序 内排序和外排序 (一)冒泡排序 (二)选择排序 (三)插入排序 (四)希尔排序 (五)归并排序 (六)快速排序 总结 一.搜 ...
- 程序员面试算法_程序员的前20个搜索和排序算法面试问题
程序员面试算法 大家好,如果您正在准备编程工作面试或正在寻找新工作,那么您知道这不是一个容易的过程. 在您职业的任何阶段,您都必须幸运地接到电话并进行第一轮面试,但是在初学者方面,当您寻找第一份工作时 ...
- 程序员的前20个搜索和排序算法面试问题
大家好,如果您正在准备编程工作面试或正在寻找新工作,那么您知道这不是一个容易的过程. 在您职业的任何阶段,您都必须幸运地接到电话并进行第一轮面试,但是在初学者方面,当您寻找第一份工作时就更加困难. 这 ...
最新文章
- YY的GCD 莫比乌斯反演
- 根据Apriltag进行角度和距离检测
- 《Web应用漏洞侦测与防御:揭秘鲜为人知的攻击手段和防御技术》——导读
- 《操作系统》CPU如何区分正在运行的是内核程序or应用程序?
- linux操作系统之信号量、互斥量在进程间的同步、文件锁
- 关于img 403 forbidden的一些思考
- 【深度学习】Win10安装TensorFlow_gpu(避坑必看)
- 第三章 正态性检验、自相关检验与异方差性检验
- Linux 命令(48)—— stat 命令
- Git下修改提交的author和email信息
- CVPR 2022 Oral | 目标检测新工作!南大开源AdaMixer:快速收敛的基于查询的目标检测器...
- Kinetics数据集下载
- PMOS管原理与应用
- class_weights的计算方式
- java anymatch_Java Stream anyMatch() API
- 帕克西AR一键换发型,让你秒变潮人!
- 使用fiddle处理跨域
- 中国企业出海应尽早把握海外社交媒体运营红利-出海传播趋势的言灵视角
- 语法入门*算法入门题单
- java创建画板_java画板的设计和创建
热门文章
- 阿里云短信验证码提示“Message“:“模板变量缺少对应参数值“
- 简单了解实体框架EF(Entity Framework)
- vscode 无法输入输出
- IM多人聊天-群聊头像合成方法
- 支付宝、微信后台不死的黑科技
- sed命令在Mac OS X上出现“未定义标签”错误
- pairs和iparis
- 阿里千万级实时监控系统技术揭秘TSDB时序业务场景
- c语言怎样写积分程序,C语言实现定积分求解方法
- GitHub:图像分类/目标检测资料