码迷,mamicode.com
首页 > 其他好文 > 详细

关于8皇后3种算法时间复杂度的实际比较

时间:2014-08-28 10:55:39      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   问题   div   log   sp   时间   算法   

隐隐的感觉到一些不对,我尝试添加对can_put函数做一个统计。理论上将,can_put函数的执行次数就是O(T)

CNT: 352, times: 72378

real    0m0.008s
user    0m0.004s
sys    0m0.000s

CNT: 352, times: 1222703298

real    0m18.207s
user    0m18.193s
sys    0m0.004s

CNT: 352, times: 459314

real    0m0.022s
user    0m0.016s
sys    0m0.000s

第一种是递归,除了耗栈,应该是足够的经济实惠

第二种是遍历,空间上很经济,时间上没有做任何考虑,是O(n^n)的,也就是最糟糕的

第三种是优化过的遍历,增加了剪枝(大概这个说法?),大幅度提高了效率,但是和递归相比,还是很糟糕,不知道是算法出了问题,还是为栈空间付出的代价?

 

等我干完手头的活儿,休息时拿出来玩玩看,总觉得第三钟算法不该这么费时间,哪里写错了吧。

 

关于8皇后3种算法时间复杂度的实际比较

标签:style   blog   color   问题   div   log   sp   时间   算法   

原文地址:http://www.cnblogs.com/sig3/p/3940871.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!