用最有效的方法解这道题 在一个TEST。TXT文件中存在10000条URL, 比如HTTP://WWW。1JU。ORG/ 怎么把最10000条URL中的重复URL消除掉, 请用考虑时间, 和空间问题, 用有效的方法解这道题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主【eimhee】截止到2008-07-16 17:27:38的历史汇总数据(不包括此帖):发帖的总数量:76 发帖的总分数:1917 每贴平均分数:25 回帖的总数量:140 得分贴总数量:33 回帖的得分率:23% 结贴的总数量:65 结贴的总分数:1472 无满意结贴数:9 无满意结贴分:160 未结的帖子数:11 未结的总分数:445 结贴的百分比:85.53 % 结分的百分比:76.79 % 无满意结贴率:13.85 % 无满意结分率:10.87 % 楼主加油 是一行一行的?1W条?不多的。读入内存,转换成大写,放入HashSet,然后取出来回写到文件,重复的就已经去掉了。 同意。用HashSet已经可以了,Sun肯定对它做过优化了,再想提高性能的话只能是事倍功半了。 别用HASHMAP, HASHSET, HASHTABLE啊 那你这样试试用一个bit表示一个URL是否存在,14bit中无符号整数有2^14个,共需16384bits,每个字节8 bits,需要16384/8 = 2M字节1,申请2M内存,作为一个URL是否存在的标记flag,全清0 2,设置记数器 count,清0 3,读入一个URL,查看相应flag是否为0,如果为0,flag置1,count加1,如果为1,做相应的清除工作 4,重复3,直到所有URL处理完毕 先变大写,把hash排下序,然后相邻的比较一下,equals的清掉 如何“查看相应flag”,如何去保存一个一个url也2M内存中的某一位的对应关系? 不过,百度曾经出过:给你a、b两个文件,各存放50亿条url,每条url各占用64字节,内存限制是4G,让你找出a、b文件共同的url其中就用到计算HASH值,按照不同的HASH段进行处理, Java已经对hashset作了优化了 为什么不用呢? 时间和空间蛮矛盾的,要是考虑到空间问题就用9楼的比较好。时间问题嘛还是用hashset 14bit中无符号整数有2^14个 这个14bit怎么得来的 JAVA做界面开发,数据方面一般用什么技术 请问如何实现删除文件里的一行记录? 如何在点击按钮或者文本标签里面时打开超连接? 请高手指点 java如何编写文本编辑器? 请问哪里有JAVA开发的邮件服务器的源程序? 学了1个多月的java,觉得收获不大,郁闷,散分! java中如何实现拨号上网的两台机器传输数据,急急急急急 请问JAVA的缺点有那些? 关于日期 java中eturn 的问题 请问,判断字符串中没有数字,和特殊符号的最简单的方法是怎样的?
楼主【eimhee】截止到2008-07-16 17:27:38的历史汇总数据(不包括此帖):
发帖的总数量:76 发帖的总分数:1917 每贴平均分数:25
回帖的总数量:140 得分贴总数量:33 回帖的得分率:23%
结贴的总数量:65 结贴的总分数:1472
无满意结贴数:9 无满意结贴分:160
未结的帖子数:11 未结的总分数:445
结贴的百分比:85.53 % 结分的百分比:76.79 %
无满意结贴率:13.85 % 无满意结分率:10.87 %
楼主加油
1W条?不多的。
读入内存,转换成大写,放入HashSet,然后取出来回写到文件,重复的就已经去掉了。
用HashSet已经可以了,Sun肯定对它做过优化了,再想提高性能的话只能是事倍功半了。
用一个bit表示一个URL是否存在,14bit中无符号整数有2^14个,共需16384bits,每个字节8 bits,需要16384/8 = 2M字节
1,申请2M内存,作为一个URL是否存在的标记flag,全清0
2,设置记数器 count,清0
3,读入一个URL,查看相应flag是否为0,如果为0,flag置1,count加1,如果为1,做相应的清除工作
4,重复3,直到所有URL处理完毕
如何“查看相应flag”,如何去保存一个一个url也2M内存中的某一位的对应关系?
百度曾经出过:给你a、b两个文件,各存放50亿条url,每条url各占用64字节,内存限制是4G,让你找出a、b文件共同的url
其中就用到计算HASH值,按照不同的HASH段进行处理,