免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2882 | 回复: 10
打印 上一主题 下一主题

求排序问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-22 16:47 |只看该作者 |倒序浏览
我想对一组上百亿的数(数值型)进行排序,感觉的时间上不可行,高手指教啊!

论坛徽章:
0
2 [报告]
发表于 2008-07-22 17:10 |只看该作者
我不知道perl内部用什么算法实现排序的,如果赶紧效率不高,恐怕得考虑自己写代码了.

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2008-07-22 17:15 |只看该作者
原帖由 converse 于 2008-7-22 17:10 发表
我不知道perl内部用什么算法实现排序的,如果赶紧效率不高,恐怕得考虑自己写代码了.

perldoc sort

论坛徽章:
0
4 [报告]
发表于 2008-07-22 18:13 |只看该作者
原帖由 flw 于 2008-7-22 17:15 发表

perldoc sort

测试了一下,对一个10,000,000的记录,先对其读取放入数组,然后对数值排序,在读取放入数值方面花了259秒,排序上花了26秒,看来大多数时间花在了读取上面,有什么方法优化读取啊。

论坛徽章:
0
5 [报告]
发表于 2008-07-22 18:38 |只看该作者
你要排序的数是什么样的啊,给几个典型的例子看看?

论坛徽章:
0
6 [报告]
发表于 2008-07-22 18:46 |只看该作者
原帖由 cobrawgl 于 2008-7-22 18:38 发表
你要排序的数是什么样的啊,给几个典型的例子看看?


文件格式是这样的,这只是文件的前几行,文件很大,记录超过百亿条记录,要根据pvalue这一列(最后一列)对文件排序(从小到大)

CHR     SNP     AL1     AL2     FREQ1   TRAIT   EFFECT  SE      H2      LOD     PVALUE
22      rs738829        G       A       0.802   1       -0.017  0.033   0.711   0.062   0.5943
22      rs915674        G       A       0.871   1       0.005   0.035   0.046   0.005   0.8799
22      rs915675        C       A       0.802   1       0.003   0.033   0.015   0.001   0.9381
22      rs915677        G       A       0.955   1       0.016   0.055   0.161   0.018   0.7714
22      rs4389403       G       A       0.912   1       0.010   0.041   0.111   0.012   0.8107
22      rs5746356       C       T       0.759   1       0.029   0.031   2.200   0.183   0.3592
22      rs10154731      G       A       0.909   1       0.015   0.041   0.281   0.030   0.7092
22      rs11913813      C       G       0.955   1       -0.056  0.055   2.006   0.228   0.3053
22      rs2260460       C       T       0.954   1       0.019   0.055   0.245   0.027   0.7226

论坛徽章:
0
7 [报告]
发表于 2008-07-22 19:26 |只看该作者
原帖由 cobrawgl 于 2008-7-22 18:38 发表
你要排序的数是什么样的啊,给几个典型的例子看看?


文件格式是这样的,这只是文件的前几行,文件很大,记录超过百亿条记录,要根据pvalue这一列(最后一列)对文件排序(从小到大)

CHR     SNP     AL1     AL2     FREQ1   TRAIT   EFFECT  SE      H2      LOD     PVALUE
22      rs738829        G       A       0.802   1       -0.017  0.033   0.711   0.062   0.5943
22      rs915674        G       A       0.871   1       0.005   0.035   0.046   0.005   0.8799
22      rs915675        C       A       0.802   1       0.003   0.033   0.015   0.001   0.9381
22      rs915677        G       A       0.955   1       0.016   0.055   0.161   0.018   0.7714
22      rs4389403       G       A       0.912   1       0.010   0.041   0.111   0.012   0.8107
22      rs5746356       C       T       0.759   1       0.029   0.031   2.200   0.183   0.3592
22      rs10154731      G       A       0.909   1       0.015   0.041   0.281   0.030   0.7092
22      rs11913813      C       G       0.955   1       -0.056  0.055   2.006   0.228   0.3053
22      rs2260460       C       T       0.954   1       0.019   0.055   0.245   0.027   0.7226

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
8 [报告]
发表于 2008-07-22 22:54 |只看该作者
man sort

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
9 [报告]
发表于 2008-07-22 23:08 |只看该作者
兄弟, 建议用C吧. 光读写文件, 就玩死你 了.  排序倒还在其次.

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
10 [报告]
发表于 2008-07-22 23:28 |只看该作者
原帖由 q1208c 于 2008-7-22 23:08 发表
兄弟, 建议用C吧. 光读写文件, 就玩死你 了.  排序倒还在其次.

楼主的情况你觉的用 C 和 Perl 的区别会很大么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP