做算法题用Python
,可以让算法题的难度降低很多,因为很多对数据的操作在Python
中都已经被封装成内置的函数了。举个简单的例子,一道简单的排序问题,用C
做就需要思考如何进行排序的操作,而在Python
中,这些操作已经被封装好了,直接调用sorted()
函数就可以。
当然,也可以不调用这个方法而选择将操作自己写一遍,但如果是这样的话,Python
的优势并没有体现出来太多,还不如直接用C
来写。
对于很多题目,使用Python
只需要简单的一句调用内置函数,在稍微加点其他操作就可以将这个问题解出来,这样的练习效果对于CS新人来说,其实不是个好的学习算法的方式。因为,对于新手来说,新手不了解底层操作。如果对于这些底层的基础性的东西得不到很好的练习。在这种情况下,如果过多地用Python
写算法,那么自己的算法功底并不能得到很好的提高。
我目前也是个算法新手,用Python
写算法时,给我的特别大的感受就是没有用C
写算法时那么难了。有很多操作可以直接调用Python
内置函数来实现,对于这种解题的方式,我个人认为自己是在偷懒,不利于算法的学习。
使用Python
写算法也不是没好处。Python
比其他语言更加贴近伪代码,这也就意味着,使用Python
写算法可以在更贴近思想的层面来解决问题。底层的东西都被Python
封装好了,使用者只要在思想层面找出这个问题的解题思路即可。对于老手来说,用Python
这样的语言可以提高不少效率,因为对于他们来说底层的操作基本上都十分熟练了,他们更需要关注的是思想层面的东西,使用Python
可以直接调用封装这些底层操作,何乐而不为呢?
使用C
这样比Python
底层的语言来写算法题,个人认为能达到更好的练习效果,更接近本质。
所以我觉得自己还是老老实实地先用C来做算法题吧。