点击蓝字 关注我们
之前在和朋友聊天时讲到,为什么算法能那么难?
在程序员圈里,有一个不成文的共识,大多程序员都认为算法是个硬骨头,真的很难啃!哪怕啃会了,也不一定会举一反三。
在网上,我看到很多小伙伴,一上来就开啃《算法导论》,这种方式真的大错特错!最离谱的是,很多人看了这个本书,啥也没看会。
这本书的确经典,但是它真的不适合新手!对于基础薄弱的小伙伴,可能拿起书就想放下,开始摆烂。所以学习算法,必须要用对方法。
三分学习,七分练习才是王道!
之前的文章中,我也讲到了算法学习的方法,想要学习算法的,可以移步以下文章:
☟戳戳即可阅读☟
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。
也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。
不同的算法可能用不同的时间,空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
著名的计算机科学家沃思提出公式:程序=数据结构+算法。其中,算法是解决“如何操作数据?”的问题,数据结构是解决“如何描述数据?”的问题。
一个算法需要具有 5 个属性:
确定性
可行性
有穷性
输入性
输出性
想要提高算法的效率,就需要减少程序复杂性(圈复杂度V(G))。
例如鸡兔问题:
共有三种解题思路:
这里,我整理了Python 数据结构与算法的学习知识点,小伙伴们也可以参考一下~
为了更方便小伙伴们学习算法,并巩固、练习知识点,我将会定期开设【算法学与练】专栏,供大家更好学习&刷题
如有需要,你还可以加入蓝桥云课专属代码交流群学习讨论哦~