怎样学好数据结构
数据结构作为大学计算机相关专业的学生来说是一门十分重要的课程,无论是以后算法思想的渗透,还是工作中程序代码的处理,都离不开数据结构的影子。但是因为数据结构知识较多,并且比较抽象,对于很多人来说学它就感到头疼。其实大可不必,数据结构的学习自然有其对应的方法。
首先,如不是为了应对考试或者考研,而是单纯的想学好数据结构的话,那就停止背诵那些繁多的空间复杂度和时间复杂度吧,这两者只需要学会简单的判别方法即可,了解哪个复杂度高哪个复杂度低就行了,因为算出来具体的复杂度在现实中是很少用到的。
其次,数据结构从名字上就可以了解,我们主要学习的是一种结构,那么任何结构单纯的解读定义是很抽象的,所以就需要将每个结构形象化,无论是简单的链表队列还是复杂的二叉树和图,将每个结构画出来,可以很轻松的帮你理解结构的原理,如果在结构的基础上进行插入、删除、排序等等操作,有了这些形象的图画也可以帮助你很直观的展现出来。
最后,就是对每个结构的应用要熟练掌握。在各种oj平台上刷题,如果你学校有刷题平台是最方便的。在刷题过程中,尤其要针对数据结构每个知识点进行专门的章节训练,来培养自己在编程过程中运用数据结构的习惯性思维,掌握好何时使用平衡二叉树、何时使用hash、何时使用图等等。
还有一点,要想学习好数据结构,好的课程是必不可少的,如果大学老师讲的足够好的话完全可以带你领略数据结构的美丽风景,如果你想自学成才的话,推荐浙江大学陈越姥姥的课和清华大学邓俊辉老师的课,都十分透彻易懂。
1.多看书
2.多写码,
看书知道数据结构的逻辑,实现方法, 写码可以加强训练理解知识,
注意写吗不是照书超一下然后编译运行,而是根据自己的理解不看书自己写,写不下去了可以看看书上例程 ,在想想可有其他方法,或改进,比如能减少循环的条件, 缩小循环的起止范围的条件,要学会用程序的方法思考问题
学数据结构看书没有用,只有写代码才是王道
而且一定注意,不是抄代码,你看着书上的代码写一遍没有用的
看完书中的描述(最好是指看文字描述,不用看代码),然后自己写,写多少算多少
写完以后再和书上对照,这样一个一个的写,你的功底就会比较扎实了
ps:数据结构是非常重要的东西,一定要学好
ps2:基本的数据结构学完后,可以看看侯捷写的《STL源码解析》,那个是实际中的应用
ps3:《计算机程序设计艺术》这个太纠结了,几年之后再看,虽然是好书,但不是学东西用的
psp:好像没什么好ps的了