我們稱數據結構是計算機科學中的一門專業基礎課但它又有著不同於其他一些基礎課的特點在於它有很強的綜合性不僅僅涉及計算機軟件研究包括操作系統編譯程序等還與計算機硬件有著相當大的關系從編碼理論到數據存儲都離不開數據結構因此可以說數據結構是介於數學計算機硬件和計算機軟件三者之間的一門核心課程所以《數據結構》這門課程對於學好計算機應用專業的其他後續課程起著非常關鍵的作用但是由於課程內容繁多許多內容有著相當的難度所以學好它並不是一件很容易的事情所以一個好的學習方法就顯得尤其重要判斷一個學習方法好壞的標准關鍵看這種學習方法是否適合於自己
大家在學習這麼課程的過程中應該不斷吸收總結歸納結合自己的特點找出一種對自己來說行之有效的學習方法這樣學習起來就可以達到事半功倍本文是依據《數據結構》課程自身的特點已經以往的一些教學經驗總結歸納得出一些學習方法上的建議和重點和難點分析希望能給廣大學員帶來啟發從來使大家讀完之後能夠使自己的學習更加行之有效下面我們來逐步給大家講解
學習本課程的一些方法上的建議
因為本課程的算法是用類C語言來描述的(算法的基本概念我們將在下面的內容介紹)類C語言是一種偽語言其語法與C語言在很大程度上是相似的所以我們需要掌握C語言和類C語言是學好數據結構的先決條件所以事先應該對C語言和類C語言有所了解
下面我來介紹一下本課程的基本內容
數據結構這門課程主要有以下幾個內容
()線形結構——包括線形表棧隊列和數組等內容
()非線形結構——包括樹圖等內容
()排序
()查找
這些內容基本上概括了整個數據結構課程的基本內容學員們在學習的過程中要注意比較它們之間的聯系和不同點需要指出的是查找和排序是日常工作中經常遇到的操作因此在數據結構中我們也專門的章節給學員們加以介紹
我們要了解一下整個數據結構課程講述的基本步驟這樣我們就可以知道該如何學習書中的每一種數據結構
()邏輯結構——其特點是它獨立與計算機的硬件結構的一種抽象的數學拓撲結構
()基本運算——即定義在某種邏輯結構上的具體操作每一種邏輯結構都對應於一個運算的集合在這裡我們僅僅需要考慮的是每種運算的功能即只關心它做什麼而不考慮如何去實現它
()存儲結構——也就是邏輯結構在計算機中的具體實現它是一個依賴與計算機硬件的結構
()運算實現——運算只有和具體的存儲結構相結合才能夠得到實現因此它所關心的問題就是如何去實現某種具體的運算即讓我們知道該怎麼做
()算法評價——每一種運算實現的不同方法所對應的時間性能空間性能都是不同所以我們需要從這兩個角度來考慮和評價我們所選擇的運算實現方法的好壞
以上所列舉的幾項是每一種數據結構都需要講述的而且每一種數據結構的這五個方面都是密切聯系的而且不同數據結構在某一特定方面也有著相互之間的聯系所以我們在學習的過程中要逐步學會一一加一比較加以歸納總結從而找出它們之間的相同點和不同點這樣有助於加深對整個課程的理解並且在腦海中逐步形成一個完整的體系
提高解題能力的最佳途徑是首先理解教材中介紹的各個算法這些算法大多數都是經典的同學學習和理會這些算法的含義和具體實現過程我們可以歸納總結出一些良好的基本解題思路方法和技巧
From:http://tw.wingwit.com/Article/program/sjjg/201311/23929.html