考研幫 > 專業(yè)課 > 復(fù)習(xí)經(jīng)驗(yàn)

計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)考研復(fù)習(xí)重點(diǎn)解析

  【摘要】從2016年計(jì)算機(jī)統(tǒng)考大綱數(shù)據(jù)結(jié)構(gòu)部分及其相關(guān)知識(shí)點(diǎn)可以看出:數(shù)據(jù)結(jié)構(gòu)和計(jì)算機(jī)組成原理部分占同一個(gè)比重,這足以體現(xiàn)計(jì)算機(jī)專業(yè)研究生選拔對(duì)數(shù)據(jù)結(jié)構(gòu)課程的重視程度。針對(duì)這樣的情況,下面為大家精心準(zhǔn)備了一些數(shù)據(jù)結(jié)構(gòu)復(fù)習(xí)的建議。


 


  ?重難點(diǎn)解析和復(fù)習(xí)建議
  數(shù)據(jù)結(jié)構(gòu)的考查目標(biāo)定位為掌握數(shù)據(jù)結(jié)構(gòu)的基本概念、基本原理和基本方法,掌握數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)以及基本操作的實(shí)現(xiàn);能夠?qū)λ惴ㄟM(jìn)行基本的時(shí)間復(fù)雜度和空間復(fù)雜度的分析;能夠運(yùn)用數(shù)據(jù)結(jié)構(gòu)的基本原理和方法進(jìn)行問題的分析求解,具備采用C、C++或JAVA語言設(shè)計(jì)程序與實(shí)現(xiàn)算法的能力。

  當(dāng)然,考生也不必因此而專門復(fù)習(xí)一遍C或C++程序設(shè)計(jì),畢竟復(fù)習(xí)時(shí)間有限,而且數(shù)據(jù)結(jié)構(gòu)要求的重點(diǎn)在于算法設(shè)計(jì)的能力,而不是編寫代碼的能力,因此,只要能用類似偽代碼的形式把思路表達(dá)清楚就行,不用強(qiáng)求寫出一個(gè)沒有任何語法錯(cuò)誤的程序。

  ?知識(shí)點(diǎn)解析
  線性表這一章里面的知識(shí)點(diǎn)不多,但要做到深刻理解,能夠應(yīng)用相關(guān)知識(shí)點(diǎn)解決實(shí)際問題。鏈表上插入、刪除節(jié)點(diǎn)時(shí)的指針操作是選擇題的一個(gè)常考點(diǎn),諸如雙向鏈表等一些相對(duì)復(fù)雜的鏈表上的操作也是可以出現(xiàn)在綜合應(yīng)用題當(dāng)中的。

  棧、隊(duì)列和數(shù)組可以考查的知識(shí)點(diǎn)相比鏈表來說要多一些。最基本的,是棧與隊(duì)列FILO和FIFO的特點(diǎn)。比如針對(duì)棧FILO的特點(diǎn),進(jìn)棧出棧序列的問題常出現(xiàn)在選擇題中。其次,是棧和隊(duì)列的順序和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),這里一個(gè)??键c(diǎn)是不同存儲(chǔ)結(jié)構(gòu)下棧頂指針、隊(duì)首指針以及隊(duì)尾指針的操作,特別是循環(huán)隊(duì)列判滿和判空的2種判斷方法。再次,是特殊矩陣的壓縮存儲(chǔ),這個(gè)考點(diǎn)復(fù)習(xí)的重點(diǎn)可以放在二維矩陣與一維數(shù)組相互轉(zhuǎn)換時(shí),下標(biāo)的計(jì)算方法,比如與對(duì)角線平行的若干行上數(shù)據(jù)非零的矩陣存放在一維數(shù)組后,各個(gè)數(shù)據(jù)點(diǎn)相應(yīng)的下標(biāo)的計(jì)算。這一章可能的大題點(diǎn),在于利用堆?;蜿?duì)列的特性,將它們作為基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu),支持實(shí)際問題求解算法的設(shè)計(jì),例如用棧解決遞歸問題,用隊(duì)列解決圖的遍歷問題等等。

  樹和二叉樹:這一章中我們從順序式的數(shù)據(jù)結(jié)構(gòu),轉(zhuǎn)向?qū)哟问降臄?shù)據(jù)結(jié)構(gòu),要掌握樹、二叉樹的各種性質(zhì)、樹和二叉樹的不同存儲(chǔ)結(jié)構(gòu)、森林、樹和二叉樹之間的轉(zhuǎn)換、線索化二叉樹、二叉樹的應(yīng)用(二叉排序樹、平衡二叉樹和Huffman樹),重點(diǎn)要熟練掌握的,是森林、樹以及二叉樹的前中后三種遍歷方式,要能進(jìn)行相應(yīng)的算法設(shè)計(jì)。這一部分是數(shù)據(jù)結(jié)構(gòu)考題歷來的重點(diǎn)和難點(diǎn),復(fù)習(xí)時(shí)要特別關(guān)注。一些常見的選擇題考點(diǎn)包括:滿二叉樹、完全二叉樹節(jié)點(diǎn)數(shù)的計(jì)算,由樹、二叉樹的示意圖給出相應(yīng)的遍歷序列,依據(jù)二叉樹的遍歷序列還原二叉樹,線索化的實(shí)質(zhì),計(jì)算采用不同的方法線索化后二叉樹剩余空指針域的個(gè)數(shù),平衡二叉樹的定義、性質(zhì)、建立和四種調(diào)整算法以及回溯法相關(guān)的問題。

  常見的綜合應(yīng)用題考點(diǎn)包括:二叉樹的遍歷算法,遍歷基礎(chǔ)上針對(duì)二叉樹的一些統(tǒng)計(jì)和操作(比如結(jié)點(diǎn)數(shù)統(tǒng)計(jì)、左右子樹對(duì)換等等),判斷某棵二叉樹是否二叉排序樹,以上這些都要求能用遞歸的和非遞歸的算法解決,特別要重視非遞歸的算法,線索化后二叉樹的遍歷算法,如查找某結(jié)點(diǎn)線索化后的前驅(qū)或后繼結(jié)點(diǎn)的算法以及給出Huffman編碼等等。

  圖:在這一章中需要識(shí)記的是圖以及基于圖的各種定義,存儲(chǔ)方式。要熟練掌握?qǐng)D的深度遍歷和廣度遍歷算法,這是用圖來解決應(yīng)用問題時(shí)常用的算法基礎(chǔ)。需要掌握基于圖的多個(gè)算法,能夠以手工計(jì)算的方式在一個(gè)給定的圖上執(zhí)行特定的算法求解問題。常見的應(yīng)用問題直接給出或經(jīng)過抽象,會(huì)成為下列問題:最小生成樹求解(PRIM算法和KRUSKAL算法,兩種方法思想都很簡單,但要注意不要混淆這兩種方法),拓?fù)渑判騿栴}(這里會(huì)用到數(shù)組實(shí)現(xiàn)的鏈表,可以注意一下),關(guān)鍵路徑問題(數(shù)據(jù)結(jié)構(gòu)的較大難點(diǎn),要把概念理解透,能做出表格找出關(guān)鍵路徑),最短路徑問題(有重要的應(yīng)用背景,也是貪心法不多的能給出最優(yōu)解的典型問題之一)。

  查找:這一章,需要識(shí)記關(guān)鍵字、主關(guān)鍵字、次關(guān)鍵字的含義;靜態(tài)查找與動(dòng)態(tài)查找的含義及區(qū)別;平均查找長度ASL的概念念及在各種查找算法中的計(jì)算方法和計(jì)算結(jié)果,特別是一些典型結(jié)構(gòu)的ASL值,B-樹的概念和基本操作沖突解決方法的選擇和沖突處理過程的描述,B+樹的概念(新增考點(diǎn)),特別要注意B-樹和B+樹概念的對(duì)比,以及Hash表相關(guān)的概念。要熟練掌握順序表、鏈表、二叉樹上的查找方法,特別要注意順序查找、二分查找的適用條件(比如鏈表上用二分查找就不合適)和算法復(fù)雜度。

  排序:排序算法眾多,今年大綱還加上了外部排序,總共10種,各種不同算法還有相應(yīng)的一些概念定義需要記住。選擇題常見的問題包括:給定數(shù)列要求給出某種特定排序方法運(yùn)行一輪后的排序結(jié)果,或者給出初始數(shù)列和一輪排序結(jié)果要求選擇采用的排序算法,給定時(shí)間、空間復(fù)雜度要求以及數(shù)列特征要求選擇合適的排序算法等等。如果排序這一考點(diǎn)出現(xiàn)在綜合應(yīng)用題中則常與數(shù)組結(jié)合來考查。

  參考書建議大家用清華嚴(yán)蔚民版的,有助于建立知識(shí)體系,并且講的比較通透。數(shù)據(jù)結(jié)構(gòu)的復(fù)習(xí)要緊扣參考書,把書認(rèn)真看幾遍,深入理解大綱相關(guān)的知識(shí)點(diǎn)。

  考研不足100天,專業(yè)課如何提升一個(gè)level ?了解更多猛戳
 ?。▽?shí)習(xí)編輯:史若陽)

關(guān)于"最后階段,真題的正確打開方式_備考經(jīng)驗(yàn)_考研幫"15名研友在考研幫APP發(fā)表了觀點(diǎn)

掃我下載考研幫

考研幫地方站更多

你可能會(huì)關(guān)心:

來考研幫提升效率

× 關(guān)閉