最新评论

共4页: 上一页 1 2 3 4 下一页 
好坏 2011-05-28 11:19
这个确实,在我们讨论时间复杂度的时候,实际上是在一种理想状况下,忽略了别的一切软硬件的影响,博主的文章很好的告诉了我们具体问题还是要具体分析
flyinghearts 2011-05-06 23:03
引用Aimeast:
是的,所以我建议不打开编译优化和打开编译优化再测试一下,可以说明一些问题


比较的是运行效率,不开优化没意义。另外,本文的目的,不是想说明哪一个算法比较好、运行快,而是想说明:不要盲目的进行优化、有些点子虽然很巧妙,在某些时候能提升性能、但更可能在其它情况下严重降低性能。

flyinghearts 2011-05-06 22:57
引用徐少侠:
算法2还能优化。
继续用空间换时间。可以设一个中间差。这样就是一次遍历取一个,比较一次。能进一步降低比较次数。拍脑袋想的话就是不论是否有序,每次循环均只要比较一次就可以了。

其实我一直在讨论算法题的时候强调两个算法复杂度同样是O(1)的算法,其实及执行效率并不是完全一致的。
这里存在着一个算法复杂度和实际执行效率之间的问题。
毕竟每行代码都是要时间去运行的。


没弄明白你的方法。取一个最值每个元素必然至少要比较一次,而取第二个最值,有50%的概率可以利用上次比较的结果,因而平均要1.5次。平均1次是做不到的。
flyinghearts 2011-05-06 22:52
@ WangRuiheng
个人认为主要受 CPU 分枝预测/乱序执行 影响,“一次取两个”算法,循环内分枝比较多, 在数组有序时,分支预测成功率很高,因而运行速度很快

诺贝尔 2011-05-06 13:49
引用winter-cn:
亲 这题太简单了
不用这么挖掘......


亲 你暴露了



winter-cn 2011-05-06 11:19
引用flyinghearts:
@winter-cn
确实很简单呀。但是有太多人对这题存在错误的认识,以为最高效的做法是一次取两个。



这个 讲讲时间复杂度大家就都明白了吧
俗话说一切不改变时间复杂度的算法优化都是耍流氓 哈哈
winter-cn 2011-05-06 11:18
@ Web programer
啊? 我在github开店 没在淘宝开过啊 买东西倒是有买过......
冰封e族 2011-05-06 11:10
@ Web programer
引用Web programer:
@winter-cn
淘宝开店的也关注这些?



我宁愿相信你很诙谐。。
红色壁虎 2011-05-06 09:16
@ winter-cn


引用Web programer:
@winter-cn
淘宝开店的也关注这些?


淘宝开店的 - -!
winter-cn 你再不出几篇,就要被赶到淘宝去了。

Aimeast 2011-05-06 09:15
@ flyinghearts
引用flyinghearts:
@Aimeast
即使你再忙,回复前,至少也要稍微浏览下帖子。
文中立即标明了:
编译参数:tdm-gcc 4.5.2-dw2: g++ -O3 -s -Wextra –Wall
VC 2010: cl /Ox /EHsc /nologo /W3

VC /Ox 的优化可能不够给力,用/O2 加上其它的参数,速度可能会更快点。


是的,所以我建议不打开编译优化和打开编译优化再测试一下,可以说明一些问题
徐少侠 2011-05-06 08:19
算法2还能优化。
继续用空间换时间。可以设一个中间差。这样就是一次遍历取一个,比较一次。能进一步降低比较次数。拍脑袋想的话就是不论是否有序,每次循环均只要比较一次就可以了。

其实我一直在讨论算法题的时候强调两个算法复杂度同样是O(1)的算法,其实及执行效率并不是完全一致的。
这里存在着一个算法复杂度和实际执行效率之间的问题。
毕竟每行代码都是要时间去运行的。
WangRuiheng 2011-05-05 23:11
其实,这个问题说明了local cache的重要性
虽然算法复杂度差不多,但是cache很重要~~~~
Web programer 2011-05-05 22:56
@ winter-cn
淘宝开店的也关注这些?
flyinghearts 2011-05-05 22:45
@ Aimeast
即使你再忙,回复前,至少也要稍微浏览下帖子。
文中立即标明了:
编译参数:tdm-gcc 4.5.2-dw2: g++ -O3 -s -Wextra –Wall
VC 2010: cl /Ox /EHsc /nologo /W3

VC /Ox 的优化可能不够给力,用/O2 加上其它的参数,速度可能会更快点。

flyinghearts 2011-05-05 22:42
@ winter-cn
确实很简单呀。但是有太多人对这题存在错误的认识,以为最高效的做法是一次取两个。


Aimeast 2011-05-05 21:46
编译优化打开了吗?分别在为优化和优化全开的情况做一次测试,可以说明另外一些问题。
幽灵主 2011-05-05 21:39
的确是挖深了,怪费时间的。
winter-cn 2011-05-05 21:18
亲 这题太简单了
不用这么挖掘......
flyinghearts 2011-04-12 13:27
@ 张冰
低级失误,文章的插图弄错了。
张冰 2011-04-12 13:20
好东东
共4页: 上一页 1 2 3 4 下一页