##一个大二学生有关数据结构学习的疑问及答复
最近,在V众投上有一个标题为“最近学习数据结构陷入了死循环大脑一片空白”的问题([http://www.vzhongtou.com/question/744](http://www.vzhongtou.com/question/744)),具体内容如下:
大一下学期学历c语言 学了半吊子 大二一开学就开始讲数据结构 没学过汇编啥的 我知道c语言的指针很重要就复习了指针现在对指针有所了解 老师讲课是一星期讲两节大课 一大章一节讲课一节上机 只讲伪算法 现在讲到树了感觉太抽象了完全搞不懂 本人数学基础比较薄弱 另外感觉自己的逻辑和抽象思维有些差 哪位前辈能帮我解答一下 在此先行谢过了
作为过来人,我的答复如下:
你好!
《数据结构》是计算机专业一门比较重要的基础课程,不仅如此,“数据结构”在实际的软件开发项目中的应用也是很广泛的。因此,在校学生一定要把它学好。
根据你的描述,你们是大二上学期就学习《数据结构》这门课程了,学校可能考虑到你们刚学了C语言,想趁热打铁地把用C语言描述的《数据结构》也给教授了。
根据我个人的经验,你可以采用如下方法来学习这门课程:
(1) 在上课之前,一定要提前预习,把下堂课要讲的内容大致过一下。对于某些比较感兴趣或想要特别了解的知识,一定要作上标记。等到了上课的时候,要仔细聆听老师的讲解,特别是之前做过标记的知识点。
(2) 在上课的时候,如果老师在讲解算法,你一定要动手跟着写,将代码或流程图写到一个纸质的笔记本上。俗话说,“好记心不如烂笔头”,手写是最好的加强记忆的方法。你一定不要嫌麻烦,不要一堂课下来也没有动过笔。
(3) 在上机的时候,看到一道题目,你不要急着就开始敲代码或翻书看。要先将自己的大致想法写到纸质的笔记本或草稿纸上,这样也是为了理清一下思路。等感觉到自己基本上能够实现程序功能了,再开始敲代码。不管写代码的过程中遇到什么困难,都不要退缩,也不要随便地请教别人或上网搜索。当你看到自己编写出来的程序能够成功运行并产生正确的结果的时候,自信心就建立起来了。
(4) 上完课之后,你也还要继续学习,不要认为课上完了,自己也就完事了。你看到成绩好的同学,其实在课堂上都和大家差不多,但差别就在课堂之外。那么,在课外如何学习《数据结构》呢?其实,只需要有一本教材就足够了。你们那本教材的后面肯定会有很多的习题,我的建议就是你把每一章后面的习题认认真真地做出来,将每一段代码都仔仔细细地敲到电脑里面,力争每一个程序都能实现题目要求的功能。在遇到基本的语法问题的时候,你可以回头翻一下C语言的教材。这是一个很艰难的、枯燥的学习过程,但为了把这门课学好,你也没有捷径可走,唯一的办法就是多实践、多动手写程序。
(5) 在学习的过程中,你解决了任何问题,有任何的心得体会,都可以写成文章发表到博客上(CSDN博客就是一个不错的选择)。这不仅可以锻炼你的写作能力和表达能力,还可以让网络这个最大的老师来指导你的学习。有网上的高手的指点,相信你的进步会很快的。此外,写博客也是一个交到良师益友的好方法。
我的以上建议,请参考。请关注本人博客,我会将答读者问的所有文章都发表到博客上。之前的相关答疑文章请见:
[http://blog.csdn.net/zhouzxi/article/category/2252401](http://blog.csdn.net/zhouzxi/article/category/2252401)
另外,本人的个人独立博客也请多多关注:[http://www.zhouzhaoxiong.com/](http://www.zhouzhaoxiong.com/)
周兆熊
2014年11月4日
(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426,欢迎关注!)