数据结构全攻略--学好数据结构的必经之路
很多人在学习时一猛子扎进细节里无法自拔,以至于顾此失彼,丢了西瓜捡了芝麻。这种学习方法特别浪费时间,效率也非常低下,以至于在学习的长河中惨遭淘汰。如果这种人继续不思进取,那么在激烈的社会竞争环境中也会惨遭淘汰。
在学习时我们不妨先了解下该门学科所要学习的框架知识,对知识点有初步的全局把控,这也是一种全局观的体现,然后在网上查找学习该门课程的成功案例,总结出这些案例的共同点,找到一种适合自己的学习方法。这种全局把控在我们的脑子中是一张图,罗列出了我们所学知识的重点,这样在学习时我们才能做到游刃有余,在遇到学习困难时清楚哪些东西需要细心研究,哪些东西需要一淡而过。
转到文章的重点——数据结构
数据结构是软件工程考试中必考的内容,同时也是开发人员必须掌握的一门学科。它是所有编程语言的核心,能够使开发人员从初级水平迅速跃居为高级。学习数据结构这门课程至少要经历三个过程,方可真正的掌握这门课程,得到一个满意的成绩。这个过程简单来说就是三个字:活→死→活。
一、学活首先,是一个学活的过程。对于数据结构这个过程要求我们掌握基本概念,这些基本概念总结为三大类,表、树、图。掌握了概念还需要我们了解概念的基本操作,数据结构和数据库不同的操作是少了修改一项,所以数据结构概念的基本操作就归结为三类增加、删除、查找。
基本概念图:
对于算法,要求我们对书中的每一个算法能够在脑海中建立起相应的模型,而不是死板的去记忆算法。比如树的遍历,一提到树的遍历我们就应该想到遍历的几种情况,在脑海中形成访问树每个节点的过程。这样,在学习下来,你的脑海中就有了整个数据结构的模型概念,对于任何一个知识点,将不感到生疏和害怕。
有了学活的过程并不代表我们的数据结构已经学好了,有些人到了此处就觉的数据结构已经学好,但是参加考试时,往往拿不到高分,甚至还会纳闷数据结构学的那么好,成绩却很差。这就是我们的第二个过程——学“死”。这个过程就要记忆算法,针对考题分析,研究考题规律,背诵共性的东西,这样在考试时就免去了在考场上分析问题的麻烦,遇到考题,不用思考,直接从脑海中找匹配的算法,直接引用。
前两个过程相结合,我们就可以得到一个比较高的分数了,但却不是真正的学通,如果还想提高,就要进入第三个过程,再学“活”的过程。这个过程是在第二个过程基础上,多进行思考,看看哪些算法有共性,总结共性,总结出这种共性,然后多多实践,这样就能正确有效的记忆算法,同时,遇到难题不至于慌乱,能够从容下手解题。
我们对数据结构的基本学习过程进行了说明,经过以上三个过程的学习后,相信对数据结构的掌握就可以达到比较高的水平了,如果参加考试,就能够获得一个比较高的成绩。当然达到这一步并不容易,大量的练习必不可少。
Note:该文章是针对软件工程师资格考试所写的,接下来的有关数据结构的知识也是和软考相关,希望能够对将要软考的童鞋提供帮助。接下来我们将会针对数据结构的基本知识点进行进一步的探讨,希望大家给出宝贵意见。