报告楼主,我这里运行了3次,都是法师的代码占优,win7 x86 office2007- 希尔排序中不同步长序列的对比:
- 随机单精度数据数量:300,000
- Ciura 的 序列:227011, 100894, 44842, 19930, 8858, 3937, 1750, 701, 301, 132, 57, 23, 10, 4, 1
- 用时 1.992 秒 移动 8,755,650 / N ^ 1.268 比较 8,614,105 / N ^ 1.266
- Tokuda 的 序列:153401, 68178, 30301, 13467, 5985, 2660, 1182, 525, 233, 103, 46, 20, 9, 4, 1
- 用时 2.035 秒 移动 8,766,968 / N ^ 1.268 比较 8,609,923 / N ^ 1.266
- Gonnet & Baeza-Yates 的 序列:136363, 61983, 28174, 12806, 5820, 2645, 1202, 546, 248, 112, 50, 22, 10, 4, 1
- 用时 2.457 秒 移动 11,462,681 / N ^ 1.289 比较 11,312,498 / N ^ 1.288
- 原本的 Sedgewick 双公式 序列:260609, 146305, 64769, 36289, 16001, 8929, 3905, 2161, 929, 505, 209, 109, 41, 19, 5, 1
- 用时 2.055 秒 移动 8,944,443 / N ^ 1.269 比较 8,786,865 / N ^ 1.268
- Sedgewick 单公式 序列:262913, 65921, 16577, 4193, 1073, 281, 77, 23, 8, 1
- 用时 2.164 秒 移动 10,733,532 / N ^ 1.284 比较 10,627,797 / N ^ 1.283
- 基于费波那契数列的 序列:90358, 19001, 4025, 835, 182, 34, 9, 1
- 用时 2.496 秒 移动 13,547,558 / N ^ 1.302 比较 13,435,644 / N ^ 1.301
- 法师改良 前后互质的 Sedgewick 双公式 序列:260609, 146309, 64763, 36293, 16001, 8929, 3907, 2161, 929, 503, 211, 109, 41, 19, 5, 1
- 用时 1.953 秒 移动 8,931,327 / N ^ 1.269 比较 8,773,975 / N ^ 1.268
复制代码- 希尔排序中不同步长序列的对比:
- 随机单精度数据数量:300,000
- Ciura 的 序列:227011, 100894, 44842, 19930, 8858, 3937, 1750, 701, 301, 132, 57, 23, 10, 4, 1
- 用时 2.020 秒 移动 8,735,892 / N ^ 1.267 比较 8,593,914 / N ^ 1.266
- Tokuda 的 序列:153401, 68178, 30301, 13467, 5985, 2660, 1182, 525, 233, 103, 46, 20, 9, 4, 1
- 用时 2.047 秒 移动 8,756,526 / N ^ 1.268 比较 8,599,326 / N ^ 1.266
- Gonnet & Baeza-Yates 的 序列:136363, 61983, 28174, 12806, 5820, 2645, 1202, 546, 248, 112, 50, 22, 10, 4, 1
- 用时 2.535 秒 移动 11,507,567 / N ^ 1.289 比较 11,356,964 / N ^ 1.288
- 原本的 Sedgewick 双公式 序列:260609, 146305, 64769, 36289, 16001, 8929, 3905, 2161, 929, 505, 209, 109, 41, 19, 5, 1
- 用时 2.129 秒 移动 8,947,087 / N ^ 1.269 比较 8,789,283 / N ^ 1.268
- Sedgewick 单公式 序列:262913, 65921, 16577, 4193, 1073, 281, 77, 23, 8, 1
- 用时 2.223 秒 移动 10,770,468 / N ^ 1.284 比较 10,664,688 / N ^ 1.283
- 基于费波那契数列的 序列:90358, 19001, 4025, 835, 182, 34, 9, 1
- 用时 2.527 秒 移动 13,443,696 / N ^ 1.302 比较 13,331,041 / N ^ 1.301
- 法师改良 前后互质的 Sedgewick 双公式 序列:260609, 146309, 64763, 36293, 16001, 8929, 3907, 2161, 929, 503, 211, 109, 41, 19, 5, 1
- 用时 1.984 秒 移动 8,947,557 / N ^ 1.269 比较 8,789,991 / N ^ 1.268
复制代码- 希尔排序中不同步长序列的对比:
- 随机单精度数据数量:300,000
- Ciura 的 序列:227011, 100894, 44842, 19930, 8858, 3937, 1750, 701, 301, 132, 57, 23, 10, 4, 1
- 用时 2.004 秒 移动 8,743,462 / N ^ 1.267 比较 8,601,707 / N ^ 1.266
- Tokuda 的 序列:153401, 68178, 30301, 13467, 5985, 2660, 1182, 525, 233, 103, 46, 20, 9, 4, 1
- 用时 2.043 秒 移动 8,765,374 / N ^ 1.268 比较 8,608,314 / N ^ 1.266
- Gonnet & Baeza-Yates 的 序列:136363, 61983, 28174, 12806, 5820, 2645, 1202, 546, 248, 112, 50, 22, 10, 4, 1
- 用时 2.543 秒 移动 11,922,617 / N ^ 1.292 比较 11,771,793 / N ^ 1.291
- 原本的 Sedgewick 双公式 序列:260609, 146305, 64769, 36289, 16001, 8929, 3905, 2161, 929, 505, 209, 109, 41, 19, 5, 1
- 用时 2.070 秒 移动 8,947,487 / N ^ 1.269 比较 8,790,500 / N ^ 1.268
- Sedgewick 单公式 序列:262913, 65921, 16577, 4193, 1073, 281, 77, 23, 8, 1
- 用时 2.195 秒 移动 10,812,644 / N ^ 1.284 比较 10,706,802 / N ^ 1.283
- 基于费波那契数列的 序列:90358, 19001, 4025, 835, 182, 34, 9, 1
- 用时 2.551 秒 移动 13,777,762 / N ^ 1.303 比较 13,665,407 / N ^ 1.303
- 法师改良 前后互质的 Sedgewick 双公式 序列:260609, 146309, 64763, 36293, 16001, 8929, 3907, 2161, 929, 503, 211, 109, 41, 19, 5, 1
- 用时 1.980 秒 移动 8,939,073 / N ^ 1.269 比较 8,781,776 / N ^ 1.268
复制代码 |