《数据结构和算法之美》学习笔记 Day 1

课程:《如何抓住重点,系统高效的学习数据结构和算法》 总结

数据结构和算法,对于我来说,始终是一个头疼的问题。总有一种”食之无味,弃之可惜“的感觉。学吧,平时也用不到,坚持不了多久。不学吧,面试都会问,而且自己也总有着”等学好了,优化下当前程序“的想法。所以就兴致勃勃的开始,马马虎虎的放弃。隔段时间又开始,又放弃。始终无法系统的学习。

最近在跟着王争老师学习《数据结构和算法之美》,听到第二讲《如何抓住重点,系统高效的学习数据结构和算法》时,又让我燃起了学习的欲望,感觉我又可以了。我是在微信订阅号中了解到的这个专题,然后就在极客时间APP上开始学习,里面提到了很多学习方法,终于解决了我的困惑,原来之前学习都是看视频,看资料被动学习被动学习对知识的留存度很低,在极客时间APP中的挑战任务中提到一种方法,就是每次学习完后,将自己的学习心得发表到简书、知乎、CSDN、Github、思否、掘金这些平台上分享自己的心得。这样和简单的笔记不同,因为这样做的笔记,别人也是可以看见的,通过这种方式倒逼自己思考和整理知识点,通过别人的点赞来增加自己的成就感和学习动力,从而更加积极的学习,还可以和他人进行交流,加深自己的理解,形成良性循环

我感觉这个方式很棒,我之前从来没有尝试过,所以我马上注册了简书账号,这才有了这篇文章,感谢王争老师的启发,相信站在巨人的肩膀上,持之以恒,一定可以事半功倍。

首先让我们了解下:数据结构是什么?算法又是什么?

广义上讲,数据结构就是一组数据的存储结构,算法就是用来操作数据的一组方法。狭义上讲,是指一些著名的数据结构和算法。这些都是前人从实际的操作场景中抽象出来的,经过了多次的求证和检验,可以直接拿来用的。比如:队列、栈、堆、递归、排序算法等。

数据结构和算法相辅相成,分而不立。数据结构服务于算法,算法要作用在特定的数据结构之上。

想要学习数据结构和算法,首先要掌握其中最重要的一个概念:复杂度分析,它几乎占据着数据结构和算法这门课的半壁江山。是数据结构和算法学习的精髓。数据结构和算法解决的是更省、更快地存储和处理数据的问题,于是复杂度分析就呼之欲出,因为它恰好就是一个考量效率和资源消耗的方法。

10个最常用、最基础的数据结构:数组、链表、栈、堆、队列、二叉树、散列表、跳表、图、Trie树。其中队列、二叉树、散列表、图我只知道名字,跳表、Trie树更是第一次听到。惭愧呀。

10个最常用、最基础的算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。递归我知道,排序算法一般听到的都是XXXX排序,如:快速排序、选择排序等,二分查找只是听过,其它的都没有听过。我好期待接下来的学习。

专栏中提到:”学习数据结构和算法的过程,是非常好的思维训练的过程“。让读者不要被动的记忆,要多辩证的思考,多问为什么。我非常同意王争老师的说法,这个我深有体会,当我每次将项目以分享会的方式讲给大家听后,我就会对这个项目有更深的印象。记得更牢。

最后,祝我自己学习进步,更上一层楼。如果你也和我一样,不妨一起来试试这样的学习方法吧。坚持就是胜利



下一篇:《数据结构和算法之美》学习笔记 Day 2

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容