呵,因为手滑选了一门课……
Well,就是大家都知道的那本princeton的Algorithms
而且我啥都不会(是的,我连修改PATH都要百度)
但是既然选了,就继续学下去吧,顺便在这里记录一下
如果有人看到这里,觉得这个人的问题实在是蠢不可及
请大发慈悲地告诉我解答
多谢
祝您健康幸福!
今天的问题是
我好不容易配置好了IDEA和algs4.jar(虽然我并不知道这是啥呵呵)
当然要试一下书上的例子
我选择了比较Selection sort和insertion sort
用的就是书上的例子(以及比较方法,就是生成T次N序列,每次排序时间累加,比较这个累加值)
书上的结果是这样的:
我的结果
java SortCompare Insertion Selection 1000 100
For 1000 random Doubles
Insertion is 0.83 times faster than Selection
0.1750 0.1460 // t1 for insertion t2 for Selection
java SortCompare Insertion Selection 10000 100
For 10000 random Doubles
Insertion is 0.60 times faster than Selection
14.1370 8.5240
java SortCompare Insertion Selection 100 100
For 100 random Doubles
Insertion is 3.17 times faster than Selection
0.0060 0.0190
java SortCompare Insertion Selection 500 100
For 500 random Doubles
Insertion is 0.88 times faster than Selection
0.0640 0.0560
试了4组参数,只有N减少到100的时候,insertion才有优势,其它三种情形都是selection占优
跟书上例子的结果差别好大
如果有走过路过的,请告诉我
这个情形是合理的吗?或许有什么算法之外的因素导致呢?比如语言本身的优化(乱讲……)