数据结构与算法

如何抓重点,系统高效学习数据结构与算法

2018-10-11  本文已影响265人  刘淏卿

 通俗讲,对所有学习都适应:找到好的学习方法,抓住学习的重点

如何找到好的学习方法?

如何抓住学习重点?

//自我认为基础很重要,目前是前人的总结出来的学习方法,学习窍门如何抓重点

首先是理解数据结构与算法概念上的理解:

从两方面看,广义,狭义。

广义:数据结构,是指一组数据的存储结构。算法,是指操作数据的一组方法。                      狭义:也就是我们专栏要讲的,是指某些著名的数据结构和算法,比如队列、栈、堆、二分查找、动态规划等。

数据结构与算法关系:数据结构是为算法服务,算法要作用在特定的数据结构之上

数据结构是静态的,它只是组织数据的一种方式。如果不在它的基础上操作、构建算法,孤立存在的数据结构就是没用的。

作用:提高代码执行效率,节省内存存储空间。//ram:手机运行存储空间,rom:手机数据存储空间。

学习顺序

1、首先要掌握一个数据结构与算法中最重要的概念——复杂度分析(是数据结构和算法的精髓)

数据结构和算法解决的是如何更省、更快地存储和处理数据的问题,因此,我们就需要一个考量效率和资源消耗的方法,这就是复杂度分析方法。所以,如果你只掌握了数据结构和算法的特点、用法,但是没有学会复杂度分析,那就相当于只知道操作口诀,而没掌握心法。只有把心法了然于胸,才能做到无招胜有招!//大篇幅讲,大力气啃,必须拿下,要搞的非常熟练

2、学会复杂度分析,就是算法和数据结构内容学习了。知识点内容上图:

数据结构和算法

学习要学会找重点,如果不分重点,学习起来很吃力。

接下来系统学习20个最常用,最基础的数据结构与算法。在以后的工作还是面试,只要集中精力逐一攻克这20个知识点就足矣。分别是,10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树;10个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规则、字符串匹配算法。

掌握这些基础的数据结构和算法,在学习更加复杂的数据结构和算法就非常容易、非常快。

学习心法,窍门:学习过程中不要死记硬背,不要为学习而学习,而是要学习它的“来历”,“自身特点”,“适合解决的问题”,以及“实际的应用场景”。//感觉大有放之四海而皆准的道理

学习数据结构和算法的过程,是非常好的思维训练过程。所以,千万不要被动的记忆,要多辩证的思考,多问为什么。如果你一直坚持这么做,你会发现,等你学完之后,写代码的时候就会不由自主的考虑到很多性能方便的事情,时间复杂度,空间复杂度非常高的垃圾袋吗出现的次数越来越少。你的编程内功真正得到修炼。

分享一些事半功倍的小技巧:

①边学边练,“适度”刷题。                                                                                                           可以刷题,不要把太多时间在刷题上,学习的目的还是在掌握,然后应用。

②多问、多思考、多互动                                                                                                               学习最好的方法是,找几个人一起学习,一块讨论切磋,有问题及时寻找老师答疑。//可以在专栏找学习者,写下自己的疑问、思考、总结。经常看别人的留言,与之互动。                         不懂一点不丢人,只要你勇敢提出来,一起解决就可以了

③打怪升级学习法                                                                                                                           学习过程中,碰到最大的问题,就是坚持不下来。很多基础课程都非常的枯燥。就像打怪升级一样,我们在枯燥的学习过程中,也给自己设立一个切实可行的目标。只是累加迭代。学习一段时间,不仅能收获知识,还会有意想不到的成就感。因为,这其实帮你改掉了一点学习的坏习惯。这个坏习惯改掉,人生也就变的不一样了。

④知识需要沉淀,不要想试图一下子掌握所有                                                                               在学习过程中,一定会碰到"拦路虎",可以尽情的搜索问题的解决方案。如果哪个知识点没有学懂,不要着急,这是正常的。因为想听一遍,看一遍就把所有的知识都掌握,这肯定是不可能的。学习知识的过程是反复迭代、不断沉淀的过程。

如果碰到“拦路虎”,可以先沉淀一下,过几天再重新学一遍。所谓,书读百遍其义自见,很有道理。

内容小结:

划重点:数据结构和算法的重点与复杂度分析。还有就是一些学习技巧,学习方法,从今天开始要好好实践。

摘自--王争  数据结构与算法之美

上一篇下一篇

猜你喜欢

热点阅读