前面已经介绍了数字全排列的三种方法,按照博文的顺序,依次称为字典法、递归法和经典算法,下面我就来比较下三种算法的运行效率。
测试是在同种环境下进行的。这里要利用三种算法分别求出n为9、10、11和12的全排列,为了简便起见,省略了序列的输出,下表就是三种算法的运行时间。
n=
| 9
| 10
| 11
| 12
|
字典法
| 0.00
| 0.10
|
1.15
|
14.27
|
递归法 |
0.01 |
0.15 |
1.62 |
19.78 |
经典算法 |
0.09 |
1.07 |
14.08 |
188.82 |
表格中的数字代表程序运行所需的秒数,由上表可以看出,字典法的运行时间是最快的,递归算法次之,最慢的就是经典算法了。
阅读(3947) | 评论(0) | 转发(0) |