想必看到这篇文章的朋友都已经有了一定的基础,已经能够理解python的语法,库的使用,循环遍历以及抛出异常。
此时的我们已经拥有了解决问题的能力,但可能自己写不出代码,就像我们学数学,前面的低中档题可能不在话下,所向披靡,但一遇到压轴题就歇菜。此刻遇到的瓶颈在于我们对数据结构与算法的欠缺,编程更偏向于操作和实践,而算法是偏向理论的东西,枯燥乏味。但算法就是解决困难问题的关键,所有强大的代码都是由一个又一个算法堆砌而成的。在做数学压轴题的时候可能大家有所体会,这些题不是随随便便用简单的计算就可以解决的,常常需要分类讨论、建系、数形结合,你往往需要对现有的题目进行转化,将其化为简单的问题,有可能一道题你用了半个小时还做错了,但学霸五分钟还做对了。这就是算法的重要性,这种思维不仅在运行的时间和性能上会产生区别,在你编写程序的时候,也会因算法的不同,导致你code的时间变长或变短。
所以说,无论你选择何种编程语言,都逃不过算法这道坎,也逃不过数据结构。
数据结构也会在很大程度上影响代码的运行,甚至在某些问题的解决上,不同的数据结构往往很大程度上影响问题的复杂度,例如一张地图,在你利用邻接矩阵的图结构时,复杂程度会远远小于,将地图直接作为数据,你可能要用到文字提取,距离识别等。解决问题的流程就会大大增加,鲁棒性会大大降低。
当你已经拥有基础后,进阶的答案就是数据结构与算法,加油特种兵!