前些天,突然看到了一篇关于数据结构的文章,让我受益良多!
我来说说我以前到现在的看法:
大二上了一门叫数据结构的课程,当时认为很无聊、枯燥,感觉没什么用处。
当时的感觉,就是一些数组、链表、栈、队列、二叉树······也用不到编程中。
大三上又上了一门算法分析与设计的课程,同上,不知道该如何用。
直到前些天,一位前辈跟我说要好好学学数据结构和算法,我开始复习数据结构了!我复习数据结构的时候,看了一个视频,那个老师说到,“没有算法的数据结构是没有灵魂的!” 他说:程序设计=数据结构+算法
我认为很有道理啊!所以说,数据结构和算法要一起学,结合起来。
数据结构和算法就相当于我们小时候读的数学和语文,也就是说,它是一个基础、地基。举个例子,盖一栋大楼,第一步是要干什么,是打地基吧,然后再砌砖建墙啊什么的,一层一层往上盖,如果说房子的地基没有打好,那以后往上盖房子是不是不牢固,容易倒塌啊!同样的道理,编程也是这个样子的,把数据结构和算法学好,就是打好了基础,以后学习就比较容易了,看源码更容易看懂,更容易理解设计思想。
所以,大家一定要好好学习这些基础啊!
学习数据结构和算法一定不要死记硬背,要结合例子,比如说,哪里能用到?切记!切记!切记!
我目前还在学习中,先定个目标:
学习10个数据结构:数组、’链表、栈、队列、散列表、二叉树、堆、跳表、图、Tire树
学习10个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。
这是我做的一部分笔记:
大家一起加油呀!冲鸭
如有错误,烦请指正!