近几天研究了几个常用算法,插入,选择,合并,用测试程序生成几个大小不一样的输入文件,数量从几千万到上亿。刚开始测试时,把每次排序数只调到1000,生成的测试结果显示,插入排序,选择排序,合并排序依次性能下降。
转头一想,不对呀,这与书上不符。突然一想o(n2),貌似我的n比较小,于是把将每次供排序的数量调到999999,这样的测试同时有9次,结果让我下巴都掉了。
之前威风得不行的插入排序,跑了半天(只是我不想等了),还没有结果。而排序一直靠后的合并排序只用了17s。有图有真相。
再次坚定了学习算法的心。
come on, baby.
测试一次1000w的数据量,合并排序效果:
把写排序结果到文件代码注释后,时间缩短到