海量数据库的应用,如国家的人口管理系统,户籍档案管理系统,在这样的海量数据库应用中,数据库的存储设计和结构优化(如索引优化)、数据库的查询优化及分页算法尤为重要!

随着互联网的日益普及,海量信息的增长,网格运算的到来,海量数据存储产品和海量数据存储技术方案的需求更为市场所需。

同时,实际的海量数据处理,更是涉及很多细节,包括 海量数据存储(物理存储、逻辑存储、海量数据库的备份)、数据采集、海量数据查询(海量数据分页、海量数据排序)、海量数据安全和管理等。

百度、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 ')

深圳海量存储设备有限公司是目前国内具备完善的海量数据存储解决方案的企业之一。
   随着 海量数据存储设备的需求日增,全球各大高端存储设备厂商都将面临海量数据存储的新挑战。

海量数据搜索算法优化-存储/查询/排序算法相关推荐

  1. 海量数据搜索算法优化(转)

    海量数据搜索算法优化(转) 原文地址 http://www.ad0.cn/netfetch/read.php/1134.htm 海量数据库的应用,如国家的人口管理系统,户籍档案管理系统,在这样的海量数 ...

  2. 邻接表存储 - 拓扑排序算法

    拓扑排序:用下面的例子介绍------> ---------------------------------------------------------------------------- ...

  3. 【推荐实践】58招聘推荐排序算法实战与探索

    背景 58同城作为中国最大的分类信息网站,为用户提供招聘.租房.二手车及黄页等多种信息服务,其中招聘业务是公司的主要业务之一.招聘平台有千万级的求职者用户,每天有百万级的新增职位发布,如何提高招聘方与 ...

  4. 马蜂窝推荐排序算法模型是如何实现快速迭代的

    点击上方"马蜂窝技术",关注订阅更多优质内容 Part.1 马蜂窝推荐系统架构 马蜂窝推荐系统主要由召回(Match).排序(Rank).重排序(Rerank)几个部分组成,整体架 ...

  5. 热度算法php,微博热门的排序算法

    我有一张微博表,表里记录了点赞.转发.评论的数值,现在想优化热门的排序算法. Q:热门数值的保存:以前我是在微博表中有一个字段 _hot 表示热度,每隔 60 分钟 UPDATE 这个字段,这样排序的 ...

  6. 四种常见排序算法的对比和总结 插入排序、归并排序、快速排序、堆排序

    目录 一.排序算法的时间复杂度 二.排序算法是否是原地排序 三.排序算法的额外空间 四.排序算法的稳定性 Stable 五.总结 这里我们要总结的排序算法主要有4个,分别是插入排序Insertion ...

  7. 海量数据搜索、存储、查询、排序算法

    http://hi.baidu.com/bellgrade/item/ac4febc7befd657089ad9eaa 海量数据库的应用,如国家的人口管理系统,户籍档案管理系统,在这样的海量数据库应用 ...

  8. 冒泡排序c++代码_八大排序算法(解释+代码+结果+算法优化)

    >>>欢迎点赞,收藏,转发! 评论区获取源代码与更多更全干货!<<< 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,不需要访问外存便能完成 ...

  9. 【数据结构】排序算法及优化整理

    排序算法 排序算法 选择排序 Selection Sort 插入排序 Insertion Sort 归并算法 Merge Sort 快速排序 Quick Sort 堆排序 Heap Sort 二叉堆的 ...

最新文章

  1. 啥不懂也能动手搭建属于自己的博客网站
  2. excel表格不够怎么添加_Excel表格水印,你以前好象添加错了!
  3. [有限元] DistMesh Matlab 程序示例
  4. idea如何安装scala插件
  5. NIO 02 (转)
  6. shell 运行shell脚本
  7. 利用树莓派完成POS58打印机的无驱动打印(初学者)
  8. 有限自动机可解析数据例题分析
  9. 以5‰的概率计算一个网络准确率达到99.9%的时间和迭代次数---实例三分类mnist 3,4,5
  10. linux网络编程面试题
  11. 【已解决】ibyaml-cpp.a(memory.cpp.o): relocation R_X86_64_PC32 against symbol `_ZTVSt16_Sp_counted_baseIL
  12. cad怎么将图层后置_cad怎么把整个图层置于底层
  13. ibus五笔造词、删词功能
  14. 服务器远程连接多个账号,如何删除服务器登录的多个活动远程桌面连接?
  15. mysql数据表添加列_如何将列添加到MySQL表
  16. 计算机中网络协议三要素,网络协议的三要素是什么?各有什么含义?
  17. 51_数码管 - DS1302可调时钟
  18. 【51单片机】:智能台灯设计(自动、手动双模式)
  19. 虚拟机VirtualBox启动虚拟机报Only Ethernet Adapter' (VERR_INTNET_FLT_IF_NOT_FOUND).
  20. html5 td上下居中显示,css表格垂直居中怎么设置?

热门文章

  1. 逻辑回归原理及推导过程
  2. UA OPTI570 量子力学19 量子谐振子的能量本征态
  3. onsubmit=return check();和onsubmit=check();的区别
  4. python打开网页被禁止_Python请求无法刮取403禁止的网页
  5. C#中的常用Math函数归纳
  6. Mybatis的作用
  7. 尤里先生查看陌生人朋友圈教程_微信怎么看陌生人朋友圈 强看陌生人朋友圈教程...
  8. Glide的基本用法
  9. Bootstrap 的基本使用方法
  10. mysql 删除重复_MySQL查询和删除重复记录