我目前对用Python做算法题的一些体会和见解

做算法题用Python,可以让算法题的难度降低很多,因为很多对数据的操作在Python中都已经被封装成内置的函数了。举个简单的例子,一道简单的排序问题,用C做就需要思考如何进行排序的操作,而在Python中,这些操作已经被封装好了,直接调用sorted()函数就可以。

当然,也可以不调用这个方法而选择将操作自己写一遍,但如果是这样的话,Python的优势并没有体现出来太多,还不如直接用C来写。

对于很多题目,使用Python只需要简单的一句调用内置函数,在稍微加点其他操作就可以将这个问题解出来,这样的练习效果对于CS新人来说,其实不是个好的学习算法的方式。因为,对于新手来说,新手不了解底层操作。如果对于这些底层的基础性的东西得不到很好的练习。在这种情况下,如果过多地用Python写算法,那么自己的算法功底并不能得到很好的提高。

我目前也是个算法新手,用Python写算法时,给我的特别大的感受就是没有用C写算法时那么难了。有很多操作可以直接调用Python内置函数来实现,对于这种解题的方式,我个人认为自己是在偷懒,不利于算法的学习。

使用Python写算法也不是没好处。Python比其他语言更加贴近伪代码,这也就意味着,使用Python写算法可以在更贴近思想的层面来解决问题。底层的东西都被Python封装好了,使用者只要在思想层面找出这个问题的解题思路即可。对于老手来说,用Python这样的语言可以提高不少效率,因为对于他们来说底层的操作基本上都十分熟练了,他们更需要关注的是思想层面的东西,使用Python可以直接调用封装这些底层操作,何乐而不为呢?

使用C这样比Python底层的语言来写算法题,个人认为能达到更好的练习效果,更接近本质。

所以我觉得自己还是老老实实地先用C来做算法题吧。

发布了38 篇原创文章 · 获赞 5 · 访问量 6556

猜你喜欢

转载自blog.csdn.net/shaotianyang12/article/details/103482549