请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答

2回答

是的哦,选择的语言不同,语言底层的实现和优化都会有比较大的区别,所以对于算法,在一些“常数”的时间上会有区别。所谓的“常数”的时间,是指比如在这个例子里,选择排序和插入排序都是O(n^2)级别的排序算法,我用C++实现选择排序快一些;你用PHP实现有可能插入排序就快一些。尤其对于脚本语言,这个问题会更严重,代码的执行效率会严重依赖于具体逻辑的写法。这是因为脚本语言中,对底层函数都会有专门的优化,但是上层逻辑由于使用解析器执行,相应就会比较慢。


如果选择使用脚本语言实现这个课程的代码,不用过于纠结“常数项”算法改进的结果。了解这个思路就好了。不过看了下一小节你就会知道,当我们在C++中将插入排序的swap进行优化以后,在C++里插入排序也比选择排序快了。所以,这说明在PHP语言中,swap对于算法性能的影响并不大:)

0 回复 有任何疑惑可以回复我~
  • 提问者 接力 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2017-05-17 09:01:41
SapereAudor 2017-05-16 22:21:43

php的底层和c++本身是有区别的。

1 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信