大数据和空间限制的问题!

原创 2016年08月30日 16:31:40

1.

打击灌水和欺诈信息的发布,58上的帖子从到展示要经历重重检测。检测规则一共有50个,一条帖子可能会同时被同时被多个规则拦截,也可能不被任何规则拦截。现有一个日志文件,每一行都记录着一个帖子ID和若干拦截该帖子的规则ID,日志文件一共9999995行。帖子ID取值为[1,9999999]上的某个整数,且无重复。帖子ID在日志文件中是无序的。

问题:
(1).如何计算任意两个规则同时拦截的帖子数量?要求只扫描一遍日志文件。采用尽可能少的存储空间

(2).假设一个帖子ID需要用4个字节来存储,请使用2M的内存空间丢失的那4个帖子ID找出来,你的算法扫描了几遍日志文件?


解:


(1).


(2).哈希表需要占用很多空间,所以使用bit map的方式来表示数出现的情况

申请一个长度为10000000的bit类型的数组bitArr,bitArr上的每个位置只可以表示0或1的状态

8个bit为1B,,长度为10000000的bit类型数据占用1.25MB,有2M内存空间,只扫描1遍



2.

数组A由1000W个随机正整数(int)组成,设计算法,给定整数n,


在A中找出符合如下等式:n=a+b的a和b,说明算法思路以及时间复杂度是多少?
将数组排序,时间复杂度n*lg(n)
在从头开始 假设第i个位置时arr[i]  那就在 i 到 1000万之间找 n - arr[i] 二分查找的效率是lg(n)  由于当arr[i] > n/2 时就不用找了
所以最终效率 不到 2*n*lg(n)


3.
数组A由1000W个随机正整数(int)组成,设计算法,给定整数n,在A中找出符合如下等式:n=a+b的a和b,说明算法思路以及时间复杂度是多少?

解析:

将数组排序,时间复杂度n*lg(n)
在从头开始 假设第i个位置时arr[i]  那就在 i 到 1000万之间找 n - arr[i] 二分查找的效率是lg(n)  由于当arr[i] > n/2 时就不用找了
所以最终效率 不到 2*n*lg(n)


4.文件f.txt中包含5万行信息,每一行都有一个有8位数组成的唯一ID,现要求将这些信息按照ID从大到小排序后,再存储会f.txt。

import java.util.*;
import java.io.*;
public class SortID {
	public static void main(String[] args){
		
		BitSet bitset=new BitSet(10);//8位的id这里改成100000000
		
		String temp=null;
		try{
			String path="C:\\Users\\dell1\\Documents\\study\\1.txt";
			File file=new File(path);
			if(!file.exists())
				throw new FileNotFoundException();
			//另一种读取方式
			FileInputStream fis=new FileInputStream(file);
			
			BufferedReader br=new BufferedReader(new InputStreamReader(fis));
			StringBuffer sb=new StringBuffer();
			while((temp=br.readLine())!=null){
				int id=Integer.valueOf(temp);
				bitset.set(id);
			}
			//遍历bitset输出所有id
			for(int i=10;i>=0;i--){
				if(bitset.get(i)){
					sb.append(Integer.toString(i)+"\n");
				}
			}
			FileOutputStream out=new FileOutputStream(file,false);
			out.write(sb.toString().getBytes("utf-8"));
			out.close();
			System.out.println("成功排序");	
		}catch(IOException e){
			System.out.println(e.getStackTrace());
		}
		
	}
}














版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

大数据和空间限制问题专题(一)

大数据和空间限制问题专题(一)

大数据和空间限制问题专题(二)

大数据和空间限制问题专题(二)

大数据时代的精准推送限制了我们的视野

现在我们处于一个大数据时代,我们的喜好、习惯、每天出入的场所、我们关注的新闻甚至于我们的一切都在被这个大数据时代所监听。亚马逊知道我喜欢读IT类的书,网易云知道我喜欢日系音乐,沃尔玛知道我喜欢甜品,我...

突破R内存限制的企业级大数据挖掘利器:Microsoft R Server 快速上手

Microsoft R Server 是一款基于R的企业级大数据分析平台. 支持各种大数据统计分析,预测性模型和机器学习功能 支持基于R的全套数据分析过程-探索、分析、可视化和建模等. 通过利用和扩...

一道面试题(大数据量 内存限制)

问题:3000w数据的表,取某项字段前50项数据 ,内存2g方案:一个数据文件,有3000W行,每行有一个id号,文件内容无任何排序。现在让你把id前 TOP 位取出来, TOP = 50.要求:你的...

突破php.ini上传文件限制,phpmyadmin导入大数据方法

Normal 0 7.8 磅 0 2 false false false MicrosoftIn...

一个int 数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。

题目:一个int 数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。 分析: 由于是要求数组种所有符合要...

exp/expdp传输表空间和rman convert实现大数据量快速迁移

将Oracle数据库中某个用户迁移到另外一个库上,迁移的数据量大小约 120GB 。如果采用 expdp 导出的话时间会很长,再加上导出的 DMP 文件拷贝和 impdp 导入数据的时间,不能满足要求...
  • xyz846
  • xyz846
  • 2013-12-09 22:05
  • 1195

人满为患,视频大数据分析如何还你“通透空间”?

发展至今,大数据不再为互联网企业独有,而是逐渐成为覆盖各行业、可以为具体业务服务的技术。如今,春节不仅演化成了一年一度的“人口迁徙”大节,还成了交通、安保等领域接受技术检验的关键时刻,交通疏导以及火车...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)