你不得不知道的5道海量数据题
来源:互联网 发布:phpstudy如何配置域名 编辑:程序博客网 时间:2024/05/20 09:47
随着大数据的疯狂,在面试过程中,你也不得不了解了解其中的奥秘,我来总结总结你不得不知道的5到海量数据处理的题目
10亿个数中找到前100大的数
答:首先,在10亿数中的前100个数,建立最大堆;然后依次遍历,将这些数与这个最大堆进行比较,更新这个最大堆(只需要遍历一遍,就可以得到前n大的数据)
1万个词中找到出现最频繁的前10个词
答:用trie树统计每个词出现的次数,时间复杂度是O(n*l);然后可以用堆实现出现最频繁的前10个词
10亿数中找出第100个大数
答:使用堆排序,建立100的最大堆排序,然后得到第100大的数
10亿个数中找到没有重复的数
答:给每个整数再分配2bit,00代表不存在,01代表出现一次,10代表出现多次,遍历一遍整数群,如果是00,则变01;是01,则变10,是10,则保持不变,遍历结束后,查看bitmap,对应是01的整数输出
在10亿个不重复的unsigned int整数,没有排序,然后给定一个数,快速判断这个数是否出现在这10亿个数中
答:将这10亿个数用32位二进制来表示,待判断的数也表示为32位二进制的数,从高位到低位进行判断,按照第32位0或者1,将10亿数进行分类,如果待测数最高位是1,则在最高位为1的那一部分进行查找,否则,在最高位为0的那一部分查找,依次类推,如果找到,则出现,如果找到最后还没找到,则没有出现
阅读全文
0 0
- 你不得不知道的5道海量数据题
- JAVA的并发你不得不知道的
- CE6 驱动: 你不得不知道的事情
- CE6 驱动: 你不得不知道的事情
- (preparatory) ARM你不得不知道的事
- 你不得不知道的 MySQL 优化原理
- 你不得不知道的 MySQL 优化原理
- ARM你不得不知道的事
- [干货]作为大数据入门者_你不得不知道的2017杭州云栖大会
- 荐几个宅男宅女常去的网站 你不得不知道的
- 你不得不知道的:关于TnPM的定位问题
- 关于Info.plist中你不得不知道的一点
- 关于HTML5你不得不知道的五件事情
- 关于HTML5你不得不知道的五件事情
- 关于HTML5你不得不知道的五件事情
- 关于Hadoop你不得不知道的12个事实
- 学习iOS开发,你不得不知道的6个概念
- 关于Hadoop你不得不知道的12个事实
- Magento 开发过程中常用的使用技巧与方法
- eclipse在pull时发生冲突报错Checkout conflict with files
- Ubuntu终端连接出错:Couldn’t agree a client-to-server cipher (available: aes128-ctr,aes192-ctr......)
- Vim
- jQuery<5.1>
- 你不得不知道的5道海量数据题
- Jedis分布式+序列化
- node(使用events模块)
- LeetCode hard 335. Self Crossing
- python匹配问题
- 二叉树
- 传输层简介
- 响应式图片的设计
- Ubuntu上搭建mysql服务器及外部访问