摘要:從《數據結構》課程的特點出發,提出了高效學習《數據結構》的幾點建議。
關鍵詞:數據結構 算法 高效
中圖分類號: G791 文獻標識碼: A 文章編號:1002-2422(2008)01-0037-02
高效地學習《數據結構》,一方面指學生能充分利用時間,積極、主動地參與學習;另一方面是指學生能夠達到獲取知識、形成技能、培養能力的目的。在《數據結構》課程的學習過程中,應根據數據結構課程的特點,注意改進學習方法,提高學習效率,以達到高效學習的目的。
1 理清知識脈絡,抓住課程重點
《數據結構》課程雖然知識點比較多,但是其主體知識框架是非常清晰的。可以圍繞線性表、樹、圖這三種數據結構和查找、排序這兩種算法,以順序和鏈式兩種存儲結構為貫穿整個課程的主線來進行理論學習和實踐學習。理清知識框架,充分利用有限時間掌握課程主要的知識結構。了解課程的知識框架和各種結構的關系后,從簡單到復雜、循序漸進、逐步深入地學習。
在具體學習過程中,要適時總結,對比分類。講到每一種數據結構時,都以順序存儲和鏈式存儲為主線,并對比分析二者的適用條件,在學習時也要把握這條主線。另外,《數據結構》中有的內容非常相似,比如,棧和隊列、二叉樹的三種遍歷方法、各種排序方法等都比較容易混淆,所以在學習時,可以進行對比歸類,進行多向聯系,正確理解類似問題,從而起到舉一反三的作用。
對于每個章節的內容,也應該按照一定的流程進行學習。例如,首先掌握每章節的基本概念,再熟悉該結構的抽象數據類型定義和主要操作的實現方法,然后要理清算法實現的思路,以及算法實現的框架,最后通過上機調試進一步掌握該算法。
2 深入理解算法,把握算法精髓
《數據結構》作為一門專業基礎課,主要學習目標是學會分析研究計算機加工的數據結構的特性,以便為應用涉及的數據選擇適當的邏輯結構、存儲結構及相應的算法,并初步掌握算法的時間和空間分析技術。遵循此目標不難看出,算法是數據結構的核心,因此在學習過程中,必須重視算法,要深入理解算法的基本思想,把握算法的精髓。
數據結構是存在一種或多種特定關系的數據元素的集合,并不是“某種語言的”數據結構,它和具體語言無關。不要過分關注數據結構的語言實現,一些同學在學習數據結構的時候,往往不自覺地把數據結構與某種具體的程序設計語言聯系起來。雖然在實際應用中,數據結構總是要用某種高級語言來實現,在學習數據結構的過程中,過分關注于數據結構的語言實現,思想就會被束縛在這些語言的語法規范中。
3 重視實驗環節,加強能力訓練
《數據結構》是實踐性很強的一門課,培養實踐能力也是非常重要的。算法設計完成的質量與基本的程序設計素質的培養是密切相關的。要想理解和鞏固所學的基本概念、原理和方法,牢固地掌握所學的基本知識、基本技能,達到融會貫通、舉一反三的目的,必須多做,多練。
《數據結構》所涉及的算法大多采用數組和指針來描述,而指針又比較抽象,上機初期,應該首先復習C語言的基礎知識,特別是數組和指針的有關操作,然后去完成老師布置的實驗。在實驗過程中,如果遇到理論方面理解不透徹的地方,可以反過來再去看看書研究一下。這樣理論與實踐才會相互促進,相得益彰。實驗結束,要將調試過程和實驗心得及時記錄下來,學會總結,從而鞏固知識,發現不足,為后面的學習作好鋪墊。
4 充分利用網絡資源,提高學習效率
網絡課堂的開通,一方面可以打破時間和空間的限制,學生可以隨時隨地上網學習,學生之間也可以互相探討,取長補短;另一方面老師可以與學生交流學習心得,收集教學反饋的信息,了解學生的感受與意見,更有利于教師對教學的改進。
網絡課堂上的資源非常豐富,課程的教學大綱、重點與難點、教學堂件、網絡課件、習題庫等內容應有盡有。學生可以在網上瀏覽老師的教學課件,可以從習題庫中抽題進行單元練習,也可以進行綜合測試,還可以利用交流空間向老師和其他同學提問,交流學習心得。
通過網上課堂的輔助學習,形成了一種全新的學習模式,使學生自主學習,充分發揮了學生的學習積極性和主觀能動性,增強了學生與老師之間的溝通,大大提高了學習的質量和效率。
總之,不同學科不同課程都有自身不同的特點,在學習的過程中不能千篇一律。要善于思考,善于總結,善于把握課程的特點。雖然《數據結構》課程比較抽象,掌握起來有一定的難度。但是只要抓住課程的規律,找到適合其特點的學習方法,再加上自身的努力,就一定能學好。