一个大数据 的算法,求思路。

wangyangkobe 2013-06-10 10:12:19
一、两个整数数组各100亿条数据,已经排序,保存在磁盘上;内存10M,
1.如何取得交集?时间和空间效率分别是多少?
2.如果其中一个数组只有100条数据,如何优化算法取得交集?时间和空间效率分别是多少?
...全文
267 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
一楼写得精辟...4.5楼没看懂·····
lsjfdjoijvtghu 2013-06-11
  • 打赏
  • 举报
回复
我想到个方法,租台超级计算机
xiangzhihappy 2013-06-11
  • 打赏
  • 举报
回复
引用 4 楼 worldy 的回复:
难道我理解错了? 既然两个数组A,B都已经排序,那么分别取出各自的最小值和最大值,即可得到交集范围 然后分段取出比较 如果 A[i]>B[j] 则j++ 如果 A[i]<B(j) 则i++ 如果 A[i]=B(j) 则 ==>交集数,i++,j++ 一次扫描就可以
这个想法不错,学习了
worldy 2013-06-11
  • 打赏
  • 举报
回复
难道我理解错了? 既然两个数组A,B都已经排序,那么分别取出各自的最小值和最大值,即可得到交集范围 然后分段取出比较 如果 A[i]>B[j] 则j++ 如果 A[i]<B(j) 则i++ 如果 A[i]=B(j) 则 ==>交集数,i++,j++ 一次扫描就可以
此去依然 2013-06-11
  • 打赏
  • 举报
回复
第一个问题: 无论如何肯定要扫描一遍两个数组。A B两个数组根据大小移动指针。 A[i]<B[j] i++; A[i]==B[j] temp[p] = A[i]; i++;j++; A[i]>B[j] j++; 第二个问题可以先二分查找,然后回到第一个问题。
大尾巴猫 2013-06-10
  • 打赏
  • 举报
回复
第一种时间复杂度是O(n),辅助空间的复杂度是常数O(1) 第二种时间复杂度O(log n),空间复杂度O(1)
大尾巴猫 2013-06-10
  • 打赏
  • 举报
回复
用类似归并排序的方法吧,2个文件各扫描一次。 第2种似乎可以采用类似对半查找。
大数据在不论在研究还是工程领域都是热点之一,算法大数据管理与计算的核心主题。本课程试图简要介绍大数据计算中涉及到的基本算法设计方法。适用于大数据研究与开发人员,也适用于数据科学爱好者。 大数据算法这门课程旨在通过讲授一些大数据上基本算法设计思想,包括概率算法、I/O有效算法和并行算法,让听课的同学们接触到和传统算法课程不一样的算法设计与分析思路,并且以最新的研究成果为导向,让参与这门课程学习的同学了解大数据算法的前沿知识。通过这门课程的学习,同学可以掌握大数据算法设计的基本思想,掌握大数据算法设计与分析的技术。 【课程目录】 第1章 大数据算法概述 大数据的定义与特点 大数据算法 大数据算法设计与分析 第2章 亚线性算法概述 亚线性算法的定义 水库抽样—空间亚线性算法 平面图直径—时间亚线性计算算法 全0数组判定—时间亚线性判定算法 第3章 亚线性算法例析 数据流中频繁元素 最小生成树 序列有序的判定 第4章 外存算法概述 外存存储结构与外存算法 外存算法示例:外存排序算法 外存数据结构示例:外存查找树 第5章 外存查找结构 B树 KD树 第6章 外存图数据算法 表排序及其应用 时间前向处理方法 缩图法 第7章 基于MapReduce的并行算法设计 MapReduce概述 字数统计 平均数计算 单词共现矩阵的计算 第8章 MapReduce算法例析 连接(Join)算法算法 第9章 非MapReduce的并行算法设计 基于迭代处理平台的并行算法 基于图处理平台的并行算法 第10章 众包算法 众包的定义 众包的实例 众包的要素 众包算法例析
内容简介 大数据是当前最为流行的热点概念之一,其已由技术名词衍生到对很多行业产生颠覆性影响的社会现象,作为最明确的技术发展趋势之一,基于大数据的各种新型产品必将会对每个人的日常生活产生日益重要的影响。 《大数据日知录:架构与算法》从架构与算法角度全面梳理了大数据存储与处理的相关技术。大数据技术具有涉及的知识点异常众多且正处于快速演进发展过程中等特点,其技术点包括底层的硬件 体系结构、相关的基础理论、大规模数据存储系统、分布式架构设计、各种不同应用场景下的差异化系统设计思路、机器学习与数据挖掘并行算法以及层出不穷的新架构、新系统等。《大数据日知录:架构与算法》对众多纷繁芜杂的相关技术文献和系统进行了择优汰劣并系统性地对相关知识分门别类地进行整理和介绍,将大数据相关技术分为大数据基础理论、大数据系统体系结构、大数据存储,以及包含批处理、流式计算、交互式数据分析、图数据库、并行机器学习的架构与算法以及增量计算等技术分支在内的大数据处理等几个大的方向。通过这种体系化的知识梳理与讲解,相信对于读者整体和系统地了解、吸收和掌握相关的优秀技术有极大的帮助与促进作用。 《大数据日知录:架构与算法》的读者对象包括对NoSQL 系统及大数据处理感兴趣的所有技术人员,以及有志于投身到大数据处理方向从事架构师、算法工程师、数据科学家等相关职业的在校本科生及研究生。

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧