这是一篇可以帮助你学好算法与数据结构的文章
什么是数据结构?什么是算法?
关于数据结构的概念,不同的教材有不同的说法。通常,可以把数据结构理解为:计算机中表示存储的,具有一定逻辑关系和行为特征的一组数据。算法就是由有穷规则构成的为解决某一类问题的运算序列。
数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用于特定的数据结构上,通俗的讲,算法和数据结构往往是互不分开的。离开了算法,数据结构就显得毫无意义,而没有了数据结构算法就没有实现的条件。良好的数据结构思想就是一种高效的算法,但是数据结构不等于算法。只有当数据结构用于处理某个特定问题类型的时候,数据结构才会体现为算法。
学习的重点:
例如: 1、 数据结构与算法中最重要的概念----复杂度分析。 2、 数据结构与算法知识点学习。 重点掌握:10 个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、树
10个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。
学习方法:
学习数据结构和算法的过程,是非常好的思维训练的过程,所以,千万不要被动地记忆,要多辩证地思考,多问为什么。如果你一直这么坚持做,你会发现,等你学完之后,写代码的时候就会不由自主地考虑到很多性能方面的事情,时间复杂度、空间复杂度非常高的垃圾代码出现的次数就会越来越少。你的编程内功就真正得到了修炼。
学习总结:
1. 边学边练,适度刷题
2. 多问、多思考
3. 知识需要沉淀,不要想试图一下子掌握所有
在学习的过程中,一定会碰到“拦路虎”。如果哪个知识点没有怎么学懂,不要着急,这是正常的。因为,想听一遍、看一遍就把所有知识掌握,这肯定是不可能的。如果碰到“拦路虎”,可以先沉淀一下,过几天再重新学一遍。所谓,书读百遍其义自见,我觉得是很有道理的!
转自大佬:楚疏笃