##一個大二學生有關數據結構學習的疑問及答復
最近,在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,歡迎關注!)