求在双核1.6G和512M机器上,0.5秒以内生成并能显示所有4782969注的明细单我对比了市面上所有软件,全列举的速度都很慢,只有一个软件的速度异乎寻常的快!一直搞不清楚他使用什么数据机构和算法,除数据机构和算法外,我们也猜测与存储机制也有关系,有14个篮子,每个篮子有三种颜色的球,列举3的十四次方的明细单,即不是计算注数而是得到所有的详细单, 即在list中显示4782969注不同的可能,我在同学的双核1.6G和512M机器上,一般情况下低于0.4秒就能计算并列举完所有可能,保存为TXT有七十多M的数据量!速度实在让人震惊!!!!!!不知道有高手可以分析出模型和算法么?
你可真笨 0.5s后就可以点保存,5S秒后,投注单全在一个7十多M的文件里像你这样投机取巧也研究不出什么好的办法
不信你打开大一些的文件,可以明显感觉。
至于算法,这种问题的最直接算法是循环,效率最高的肯定的循环。如果用C,还可以用指针提高效率。
在内存中算4782969注的明细单的明细,按现在的计算机速度,应该也只是数十毫秒级的事情。
1.6GHz的双CPU,假设不用线程,一秒钟可进行的运算是多少?
0.5s还算是慢的了。
这个计算的关键是内存的管理,如果还要另外申请内存,时间开销就在系统的内存调用上了;
当然,0.5s的全部显示,按现在的控件好像也是不现实的,所以当然要用一定的方法处理。
不管怎么说,0.5s肯定是可以计算出来的,用Delphi的控件显示出来肯定是来不及的。