社区
C语言
帖子详情
假如有1千万条数据,用尽可能快的方法打印重复的内容,算法如何?
ryangio
2010-06-29 01:13:49
这个小弟今天遇到的面试题,,,请教算法?
...全文
199
12
打赏
收藏
假如有1千万条数据,用尽可能快的方法打印重复的内容,算法如何?
这个小弟今天遇到的面试题,,,请教算法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gunsand
2010-07-12
打赏
举报
回复
肯定是HASH最快了。如果外村很大的话。
毕竟1000万数据就是记一个标志位也占内存的。
O(1)时间复杂度。
当然HASH函数要弄好。
bobo364
2010-07-12
打赏
举报
回复
面试怎么老是问这个,什么超大数据量判断,字符串匹配最快的目前只有hash了
jansonleader
2010-06-30
打赏
举报
回复
[Quote=引用 7 楼 cattycat 的回复:]
整数的话,可以用位图,如果是字符串,可以先计算MD5签名,也就是相当于hash,然后统计这些签名是否有相同的,相同的就是重复的,因为这个是128位整数,可以很好的避免重复
[/Quote]
这个方法我在工作中试过,但是感觉还不是很完美。我处理的数据是60W行URL,大致是这样的:
while(fgets(oneDate,1024,fp))
{
int md5 = getMd5(oneData);
if (findInMd5(md5,Container) == 1) printf("Repeat %s",oneData);
else insertIntoContainer(Container,oneData);
}
执行效率不是很满意。请问还有更好的方法吗?
赵4老师
2010-06-30
打赏
举报
回复
先排序
再遍历
abcdef0966
2010-06-30
打赏
举报
回复
[Quote=引用 7 楼 cattycat 的回复:]
整数的话,可以用位图,如果是字符串,可以先计算MD5签名,也就是相当于hash,然后统计这些签名是否有相同的,相同的就是重复的,因为这个是128位整数,可以很好的避免重复
[/Quote]
学习了
cattycat
2010-06-29
打赏
举报
回复
整数的话,可以用位图,如果是字符串,可以先计算MD5签名,也就是相当于hash,然后统计这些签名是否有相同的,相同的就是重复的,因为这个是128位整数,可以很好的避免重复
sharco
2010-06-29
打赏
举报
回复
以IP地址为例的话,可以用二叉平衡数解决
liutengfeigo
2010-06-29
打赏
举报
回复
枚举法~
wolibaba
2010-06-29
打赏
举报
回复
规定了范围内的整数的话,位图应该就可以了。
编程珠玑上的第一个例子就是个这样的问题。
do_fork
2010-06-29
打赏
举报
回复
序列化,再hash计数
ryangio
2010-06-29
打赏
举报
回复
好像没说具体什么类型的。。
abcdef0966
2010-06-29
打赏
举报
回复
什么样的数据?是整数?位图法可以吧
图解
数据
结构与
算法
这部分恰好又不是突击能够解决的知识储备,所以很有必要系统地学习一下
数据
结构和
算法
了 【推荐您学习这门课程的原因】 1、图解
数据
结构与
算法
:拒绝抽象枯燥的学习,本课程采用动画演示的形式,让您在动画中掌握...
数据
结构与
算法
学习笔记
1.
数据
结构与
算法
1.1 知识脑图 1.2 什么是
数据
结构 与
算法
数据
结构 就是一组
数据
的存储结构
算法
就是操作一组
数据
的
方法
数据
结构是为
算法
服务的,
算法
要作用在特定的
数据
结构之上 1.3 为什么需要
数据
结构和
算法
在计算机科学和互联网迅猛发展下,需要计算的
数据
量越来越庞大。但是计算机的计算能力是有限的,这么大量的
数据
计算,需要越来越多的计算机,需要越来越长的计算时间,注重效率的我们需要
尽可能
的提高计算效率 选用合适的
数据
结构和
算法
,特别是在处理体量非常庞大的
数据
的时候,可以极
第一章:
数据
结构和
算法
1.什么是
数据
结构? 当我们遇到一个实际问题时,首先需要解决两件事: (1)如何将
数据
存储在计算机中; (2)用什么
方法
和策略解决问题。 前者是
数据
结构,后者是
算法
。只有
数据
结构没有
算法
,相当于只把
数据
存储在计算机中,而没有有效的
方法
去处理,就像一栋只有框架的烂尾楼;若只有
算法
没有
数据
结构,就像沙漠里面的海市蜃楼,只不过是空中楼阁罢了。 在我们开始学习
数据
结构和
算法
之前,我们先从总体上来了解一下什么是
数据
结构和
算法
。顾名思义,
数据
是一切输入计算机中信息的总和,结构是指
数据
之间
Python
数据
结构与
算法
(1.7)——
算法
分析
我们已经知道
算法
是具有有限步骤的过程,其最终的目的是为了解决问题,而根据我们的经验,同一个问题的解决
方法
通常并非唯一。这就产生一个有趣的问题:如何对比用于解决同一问题的不同
算法
?为了以合理的方式提高程序效率,我们应该知道如何准确评估一个
算法
的性能。本节学习首先介绍
算法
分析的重要性,并讲解了分析
算法
的时间复杂度和空间复杂度分析
方法
,最后介绍了Python列表和字典常见操作的时间复杂度。
Java实现Sunday百万级
数据
量的字符串
快
速匹配
算法
背景 在平时的项目中,几乎都会用到比较两个字符串时候相等的问题,通常是用==或者equals()进行,这是在
数据
相对比较少的情况下是没问题的,当
数据
库中的
数据
达到几十万甚至是上百万千万的
数据
需要从中进行匹配的时候,传统的
方法
显示是不行的,影响匹配的效率,时间也会要很久,用户体验很差的,今天就要介绍一种字符串匹配的
算法
Sunday。接下来就详细介绍了 Sunday算...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章