數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)方法_第1頁
數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)方法_第2頁
數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)方法_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)方法《數(shù)據(jù)結(jié)構(gòu)》是計(jì)算機(jī)相關(guān)專業(yè)的一門重要核心基礎(chǔ)課,在整個(gè)課程體系中處于承上啟下的核心地位,它以《C語言程序設(shè)計(jì)》和《集合論與圖論》為基礎(chǔ)。同時(shí)又與這兩門課程相互融合,相互滲透,《數(shù)據(jù)結(jié)構(gòu)》的學(xué)習(xí)同時(shí)又能加深對(duì)前兩門課程的深入理解,同時(shí)為進(jìn)一步學(xué)習(xí)《算法分析與設(shè)計(jì)》、《軟件工程》、《操作系統(tǒng)》、《編譯原理》、《數(shù)據(jù)庫理論》等計(jì)算機(jī)相關(guān)專業(yè)課程奠定堅(jiān)實(shí)的理論與實(shí)踐基礎(chǔ)。學(xué)習(xí)《數(shù)據(jù)結(jié)構(gòu)》應(yīng)具備一定的專業(yè)理論知識(shí),特別是應(yīng)先學(xué)好《C語言程序設(shè)計(jì)》和《集合論和圖論》兩門課程。以下就自己多年來講授數(shù)據(jù)結(jié)構(gòu)的心得,談一談學(xué)習(xí)方法,希望對(duì)大家學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)有所幫助。學(xué)習(xí)方法一從實(shí)踐到理論的學(xué)習(xí)方法數(shù)據(jù)結(jié)構(gòu)是一門從實(shí)踐抽象到理論,又用理論來指導(dǎo)實(shí)踐的學(xué)科,因此我們?cè)趯W(xué)習(xí)這門課程的過程中,首先應(yīng)從實(shí)踐入手,從日常生活入手,然后再抽象到理論,下面我們舉兩個(gè)例子來說明這種學(xué)習(xí)方法?!纠?】圖的廣度優(yōu)先搜索和深度優(yōu)先搜索算法想一想在日常生活中,如果有很多個(gè)房間,現(xiàn)在需要我們檢查每一個(gè)房間中都放了什么物品,我們會(huì)怎么檢查?第一種檢查方式,我們先檢查離我們最近的房間,為了避免重復(fù),每檢查過一個(gè)房間,我們需要標(biāo)記,然后層層推進(jìn),這其實(shí)就是廣度優(yōu)先搜索的思想,我們把這種搜索過程進(jìn)一步規(guī)范,按算法的規(guī)則寫出來,就是廣度優(yōu)先搜索算法。第二種檢查方式,我們先從離我們最近的某一個(gè)房間檢查,同樣為了避免重復(fù),檢查完一個(gè)房間后我們要作標(biāo)記,按同樣的方式每次都從剛檢查過的房間重新開始,直到走不動(dòng)時(shí)再逐級(jí)回退看看是否還存在沒有檢查過的房間,這是深度優(yōu)先搜索的思想?!纠?】快速排序算法假設(shè)有一班30個(gè)學(xué)生上體育課,現(xiàn)在需要對(duì)這30個(gè)學(xué)生從低到高進(jìn)行排序,體育老師可以隨意選身高中等的學(xué)生,然后讓比這個(gè)學(xué)生高的站在這個(gè)學(xué)生右邊,比這個(gè)學(xué)生矮的站在這個(gè)學(xué)生左邊,再對(duì)這個(gè)學(xué)生兩邊的學(xué)生作同樣處理,這就是快速排序的思想,同時(shí)也是算法中分治的思想,把這種過程規(guī)范地描述出來,就是快速排序算法。學(xué)習(xí)方法二先邏輯結(jié)構(gòu)后存儲(chǔ)結(jié)構(gòu)的學(xué)習(xí)方法數(shù)據(jù)結(jié)構(gòu)的一項(xiàng)重要任務(wù)就是把實(shí)際應(yīng)用中的實(shí)際問題抽象成數(shù)學(xué)模型(邏輯結(jié)構(gòu)),然后再根據(jù)不同計(jì)算機(jī)語言的特點(diǎn),安排存儲(chǔ)結(jié)構(gòu),為進(jìn)一步的操作和計(jì)算服務(wù),我們?cè)趯W(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)時(shí),如果遵循這個(gè)原則來學(xué)習(xí)。不但可以加強(qiáng)我們的記憶,而且可以加深我們對(duì)所學(xué)知識(shí)的理解,同時(shí)也能增強(qiáng)我們利用所學(xué)知識(shí)解決實(shí)際問題的能力?!纠?】順序存儲(chǔ)結(jié)構(gòu)、鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)、索引存儲(chǔ)結(jié)構(gòu)假設(shè)現(xiàn)在有一套24史書籍,需要放在書架上,從1到24是有次序的,不能放亂,根據(jù)書架的不同情況,我們有不同的放置方法,(1)如果書架上有足夠的空間能同時(shí)放下這24本書,我們可以依次放下這些書,就是順序存儲(chǔ)結(jié)構(gòu);(2)假設(shè)沒有一個(gè)足夠大的空間能夠同時(shí)放下這些書,同時(shí)書架上有很多小空間,這些小空間合起來可以放下這些書,想一想我們都有那些放置方式:第一種,我們可以先放第1本書,記下第1本書的位置,然后放第2本書,第2本書的位置我們可以寫一張紙條夾在第1本書中,然后放第3本書,第3本書的位置寫一張紙條放在第2本書中,......,這便是鏈?zhǔn)酱鎯?chǔ),第1本書的位置就是頭指針;第二種,我們把這些書分別放在不同的位置,然后把這些書的位置記錄在一張紙上,這便是索引結(jié)構(gòu),這張紙就是索引表。通過對(duì)這些實(shí)例的分析,書和書架的位置我們可以用不同的符號(hào)來表示,這就是邏輯結(jié)構(gòu),然后我們結(jié)合我們學(xué)過的計(jì)算機(jī)語言知識(shí),考慮怎么樣才能實(shí)現(xiàn)這個(gè)存儲(chǔ)過程,這便是存儲(chǔ)結(jié)構(gòu),通過這樣的學(xué)習(xí),是不是比死啃書本要好呢?學(xué)習(xí)方法三書本學(xué)習(xí)與上機(jī)實(shí)驗(yàn)相結(jié)合數(shù)據(jù)結(jié)構(gòu)是一門理論與實(shí)驗(yàn)相結(jié)合的課程,如果只注重理論,容易造成“眼高于低”的情況,理論知識(shí)學(xué)的很扎實(shí),但動(dòng)手能力很差,不符合我們的培養(yǎng)要求,反過來,如果只注重實(shí)踐,又會(huì)造成只見“點(diǎn)”不見“面”的情況,造成系統(tǒng)解決問題的能力差。因此我們?cè)趯W(xué)習(xí)這門課的過程,要采用實(shí)驗(yàn)與理論學(xué)習(xí)緊密結(jié)合的方式,通過上機(jī)解決一些典型問題,通過分析、設(shè)計(jì)、編碼、調(diào)試等各環(huán)節(jié)的訓(xùn)練,深刻理解、牢固掌握所用到的一些技術(shù)。每個(gè)問題的正確求解,都要通過分析問題、建立模型、設(shè)計(jì)算法、編制程序、調(diào)試優(yōu)化等步驟。通過實(shí)驗(yàn)后,可以提高對(duì)數(shù)據(jù)結(jié)構(gòu)課程內(nèi)容的深入理解,同時(shí)也能提高學(xué)習(xí)興趣。學(xué)習(xí)方法四知識(shí)內(nèi)容共性化與個(gè)性化總結(jié)的學(xué)習(xí)方法在數(shù)據(jù)結(jié)構(gòu)的內(nèi)容中,線性結(jié)構(gòu)、樹型結(jié)構(gòu)、圖型結(jié)構(gòu)都遵循:首先是邏輯結(jié)構(gòu)、其次是存儲(chǔ)結(jié)構(gòu)、接下來是基本操作的實(shí)現(xiàn)這一原則,通過這些共性化可以理清思路,幫助我們理解,同時(shí)針對(duì)這三種結(jié)構(gòu)的不同特點(diǎn),再強(qiáng)調(diào)它們各自在邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和基本操作上的個(gè)性化,加深我們的理解。學(xué)習(xí)方法五自頂向下的學(xué)習(xí)方法在數(shù)據(jù)結(jié)構(gòu)的教學(xué)中,很多學(xué)生反映其中的一些算法非常不容易理解,在程序設(shè)計(jì)中有一種自頂向下的程序設(shè)計(jì)方法,這種方法同樣適用于我們對(duì)數(shù)據(jù)結(jié)構(gòu)有關(guān)算法的學(xué)習(xí)。對(duì)一種算法,首先我們要了解它的思想,然后是分析它的概要,接下來再考慮細(xì)節(jié),如果一開始就逐字逐句地讀代碼,要花很長時(shí)間才能對(duì)算法徹底搞清楚。下面我們舉例說明這種學(xué)習(xí)過程?!纠?】求最短路徑的迪杰斯特拉算法假設(shè)有a,b,c,d,e共5個(gè)頂點(diǎn)形成一個(gè)圖,現(xiàn)在我們要求頂點(diǎn)a到其它各頂點(diǎn)的最短路徑。我們首先理解迪杰斯特拉算法的思想解迪杰斯特拉算法的思想是:求a到其它頂點(diǎn)的最短路徑,我們首先求出離它最近的頂點(diǎn),也就是與它有邊相連并且邊長度最短的頂點(diǎn),假設(shè)是c,這樣我們就得到了2到。的最短路徑。然后我們?cè)偾箅xa次近的頂點(diǎn),只能是b,d,e中的一個(gè),這些頂點(diǎn)到a有兩種可能,直接到a或通過c到a,因?yàn)閏到a的最短路已求出,因此很容易求出b,d,e通過c或不通過c到a的最短距離,找出其中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論