湖北自考網(wǎng)旗下:湖北研究生考網(wǎng)提供湖北研究生招生信息,包括湖北考研招生簡章,專業(yè)目錄,考研大綱,考研分?jǐn)?shù)線等及湖北考研培訓(xùn)輔導(dǎo)班

湖北自考網(wǎng)

研究生考試
考研首頁 考研院校 考研大綱 招生簡章 準(zhǔn)考證打印
專題:
湖北研究生考試備考流程 湖北研究生考試報(bào)名時(shí)間 湖北研究生考試考試時(shí)間 考研復(fù)試準(zhǔn)備 湖北考研錄取通知書領(lǐng)取 湖北研究生考試歷年分?jǐn)?shù)線
武漢大學(xué)研究生院 華中科技大學(xué)研究生院 中國地質(zhì)大學(xué)(武漢)研究生院 武漢理工大學(xué)研究生院 華中師范大學(xué)研究生院 華中農(nóng)業(yè)大學(xué)研究生院 中南財(cái)經(jīng)政法大學(xué)研究生院 武漢紡織大學(xué)研究生院 湖北大學(xué)研究生院 中南民族大學(xué)研究生院 中科院水生生物研究所研究生院 宜昌測試技術(shù)研究所研究生院 武漢科技大學(xué)研究生院 長江大學(xué)研究生院 武漢工程大學(xué)研究生院 武漢輕工大學(xué)研究生院 湖北工業(yè)大學(xué)研究生院 湖北中醫(yī)藥大學(xué)研究生院 湖北師范大學(xué)研究生院 湖北民族學(xué)院研究生院 武漢體育學(xué)院研究生院 湖北美術(shù)學(xué)院研究生院 武漢音樂學(xué)院研究生院 三峽大學(xué)研究生院 中科院武漢巖土力學(xué)研究所研究生院 中科院武漢物理與數(shù)學(xué)研究所研究生院 中科院測量與地球物理研究所研究生院 中科院武漢植物園研究生院 中科院武漢病毒研究所研究生院 長江科學(xué)院研究生院 中鋼集團(tuán)武漢安全環(huán)保研究院研究生院 武漢材料保護(hù)研究所研究生院 中國航空研究院610所研究生院 航天化學(xué)動(dòng)力技術(shù)研究院42所研究生院 武漢郵電科學(xué)研究院研究生院 武漢生物制品研究所研究生院 中國地震局地震研究所研究生院 武漢數(shù)字工程研究所研究生院 中國艦船研究設(shè)計(jì)中心(701所)研究生院 武漢船用電力推進(jìn)裝置研究所研究生院 華中光電技術(shù)研究所研究生院 武漢船舶通信研究所研究生院 武漢第二船舶設(shè)計(jì)研究所研究生院 湖北省社會(huì)科學(xué)院研究生院 湖北省化學(xué)研究院研究生院 中共湖北省委黨校研究生院 中國人民解放軍國防信息學(xué)院研究生院 軍事經(jīng)濟(jì)學(xué)院研究生院 海軍工程大學(xué)研究生院 空軍雷達(dá)學(xué)院研究生院 第二炮兵指揮學(xué)院研究生院 中國水科院長江水產(chǎn)研究所研究生院 江漢大學(xué)研究生院 黃岡師范學(xué)院研究生院 湖北科技學(xué)院研究生院 湖北經(jīng)濟(jì)學(xué)院研究生院 湖北汽車工業(yè)學(xué)院研究生院
湖北研究生網(wǎng) > 考研輔導(dǎo) > 專業(yè)課 > 2014考研 計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)備考要點(diǎn) 湖北考研專業(yè)課輔導(dǎo)_考研專業(yè)課輔導(dǎo)資料_湖北研究生考試網(wǎng)網(wǎng)站地圖
考研培訓(xùn)

2014考研 計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)備考要點(diǎn)

來源:湖北自考網(wǎng) 時(shí)間:2013-05-27

專業(yè)課的復(fù)習(xí),尤其是計(jì)算機(jī)專業(yè)的復(fù)習(xí),對部分備考2014考研的學(xué)生著實(shí)是件令人頭疼的事情。為方便考生有效復(fù)習(xí)計(jì)算機(jī)專業(yè),特總結(jié)了計(jì)算機(jī)專業(yè)數(shù)據(jù)結(jié)構(gòu)的十大核心考點(diǎn),以供大家參考,希望對大家有所幫助。


核心考點(diǎn)一:隊(duì)列和棧結(jié)構(gòu)的概念理解

棧是僅限制在表的一端進(jìn)行插入和刪除運(yùn)算的線性表,稱插入、刪除這一端為棧頂。表中無元素時(shí)為空棧。棧的修改是按后進(jìn)先出的原則進(jìn)行的。通常棧有順序棧和鏈棧兩種存儲(chǔ)結(jié)構(gòu)。

隊(duì)列是一種運(yùn)算受限的線性表,插入在表的一端進(jìn)行,而刪除在表的另一端進(jìn)行,允許刪除的一端稱為隊(duì)頭,允許插入的一端稱為隊(duì)尾,隊(duì)列的操作原則是先進(jìn)先出的。隊(duì)列也有順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)兩種存儲(chǔ)結(jié)構(gòu)。


核心考點(diǎn)二:線性表中單鏈表相關(guān)算法設(shè)計(jì)與實(shí)現(xiàn)

一些基礎(chǔ)但又重要的單鏈表相關(guān)算法,如:

1.打印單鏈表,void PrintList(List list);
使用一個(gè)指針遍歷所有鏈表節(jié)點(diǎn)。

2.兩個(gè)升序鏈表,打印tarList中的相應(yīng)元素,這些元素的序號(hào)由SeqList指定,void PrintLots(List tarList, List seqList);
使用兩個(gè)指針分別遍歷兩個(gè)鏈表,每次取出序列鏈表的一個(gè)序號(hào)后,根據(jù)該序號(hào),到達(dá)目標(biāo)鏈表指定節(jié)點(diǎn)。

3.兩個(gè)升序鏈表的交集 ,List Intersect(List l1, List l2);

4.兩個(gè)升序鏈表的并集 ,List Join(List l1, List l2);

5.單鏈表就地置逆,void Reverse(List l);
使用三個(gè)指針表示前驅(qū),當(dāng)前和后繼節(jié)點(diǎn),每次將當(dāng)前節(jié)點(diǎn)的Next指向前驅(qū)節(jié)點(diǎn),然后向后遍歷直到鏈表末尾。


核心考點(diǎn)三:二叉樹的遍歷

遍歷的過程就是把非線性結(jié)構(gòu)的二叉樹中的結(jié)點(diǎn)排成一個(gè)線性序列的過程。

二叉樹遍歷方法可分為兩大類,一類是“寬度優(yōu)先”法,即從根結(jié)點(diǎn)開始,由上到下,從左往右一層一層的遍歷;
另一類是“深度優(yōu)先法”,即一棵子樹一棵子樹的遍歷。

從二叉樹結(jié)構(gòu)的整體看,二叉樹可以分為根結(jié)點(diǎn),左子樹和右子樹三部分,只要遍歷了這三部分,就算遍歷了二叉樹。設(shè)D表示根結(jié)點(diǎn),L表示左子樹,R表示右子樹,則DLR的組合共有6種,即DLR,DRL,LDR,LRD,RDL,RLD.若限定先左后右,則只有DLR,LDR,LRD三種,分別稱為先(前)序法(先根次序法),中序法(中根次序法,對稱法),后序法(后根次序法)。三種遍歷的遞歸算法如下:

1.先序法(DLR)

若二叉樹為空,則空操作,否則:訪問根結(jié)點(diǎn)?先序遍歷左子樹?先序遍歷右子樹。

2.中序法(LDR)

若二叉樹為空,則空操作,否則:中序遍歷左子樹?訪問根結(jié)點(diǎn)?中序遍歷右子樹。

3.后序法(LRD)

若二叉樹為空,則空操作,否則:后序遍歷左子樹?后序遍歷右子樹?訪問根結(jié)點(diǎn)。

核心考點(diǎn)四:完全二叉樹中有關(guān)結(jié)點(diǎn)個(gè)數(shù)計(jì)算

完全二叉樹的定義:深度為k,有n個(gè)結(jié)點(diǎn)的二叉樹當(dāng)且僅當(dāng)其每一個(gè)結(jié)點(diǎn)都與深度為k的滿二叉樹中編號(hào)從1至n的結(jié)點(diǎn)一一對應(yīng)時(shí),稱為完全二叉樹。

完全二叉樹的葉子數(shù)為(n + 1) / 2取下整。

考研計(jì)算機(jī)核心考點(diǎn)五:森林與二叉樹之間的轉(zhuǎn)換以及轉(zhuǎn)換過程中結(jié)點(diǎn)之間的關(guān)系

將一棵樹轉(zhuǎn)換為二叉樹的方法是:

1.樹中所有相鄰兄弟之間加一條連線。

2.對樹中的每個(gè)結(jié)點(diǎn),只保留其與第一個(gè)孩子結(jié)點(diǎn)之間的連線,刪去其與其它孩子結(jié)點(diǎn)之間的連線。

3.以樹的根結(jié)點(diǎn)為軸心,將整棵樹順時(shí)針旋轉(zhuǎn)一定的角度,使之結(jié)構(gòu)層次分明。

森林轉(zhuǎn)換為二叉樹的方法如下:

1.將森林中的每棵樹轉(zhuǎn)換成相應(yīng)的二叉樹。

2.第一棵二叉樹不動(dòng),從第二棵二叉樹開始,依次把后一棵二叉樹的根結(jié)點(diǎn)作為前一棵二叉樹根結(jié)點(diǎn)的右孩子,當(dāng)所有二叉樹連在一起后,所得到的二叉樹就是由森林轉(zhuǎn)換得到的二叉樹。

樹和森林都可以轉(zhuǎn)換為二叉樹,二者的不同是:樹轉(zhuǎn)換成的二叉樹,其根結(jié)點(diǎn)必然無右孩子,而森林轉(zhuǎn)換后的二叉樹,其根結(jié)點(diǎn)有右孩子。將一棵二叉樹還原為樹或森林,具體方法如下:

1.若某結(jié)點(diǎn)是其雙親的左孩子,則把該結(jié)點(diǎn)的右孩子、右孩子的右孩子、……都與該結(jié)點(diǎn) 的雙親結(jié)點(diǎn)用線連起來。

2.刪掉原二叉樹中所有雙親結(jié)點(diǎn)與右孩子結(jié)點(diǎn)的連線。

3.整理由1、2兩步所得到的樹或森林,使之結(jié)構(gòu)層次分明。

核心考點(diǎn)六:對無向連通圖特性的理解

無向圖的每條邊,在頂點(diǎn)計(jì)算度的過程中,都要兩次參與計(jì)算(與邊兩關(guān)聯(lián)的2個(gè)頂點(diǎn)),因此所有頂點(diǎn)的度之和為偶數(shù)。

具有n個(gè)頂點(diǎn)的無向連通圖,其邊數(shù)大于或等于n-1.

在無向連通圖中,所有頂點(diǎn)的度數(shù)都有可能大于1.

核心考點(diǎn)七:對m階B樹定義的理解

一棵m階的B樹滿足下列條件:

1. 每個(gè)結(jié)點(diǎn)至多有m棵子樹。

2. 除根結(jié)點(diǎn)外,其它每個(gè)分支至少有m/2棵子樹。

3. 根結(jié)點(diǎn)至少有兩棵子樹(除非B樹只有一個(gè)結(jié)點(diǎn))。

4. 所有葉結(jié)點(diǎn)在同一層上。B樹的葉結(jié)點(diǎn)可以看成一種外部結(jié)點(diǎn),不包含任何信息。

5. 有j個(gè)孩子的非葉結(jié)點(diǎn)恰好有j-1個(gè)關(guān)鍵碼,關(guān)鍵碼按遞增次序排列。結(jié)點(diǎn)中包含的信息為 ∶ (p0,k1,p1,k2,p2, … ,kj-1,pj-1)

其中,ki為關(guān)鍵碼,且滿足ki

核心考點(diǎn)八:帶權(quán)圖的最短路徑算法及應(yīng)用

迪杰斯特拉(Dijkstra)算法求單源最短路徑,算法思想:

設(shè)S為最短距離已確定的頂點(diǎn)集(看作紅點(diǎn)集),V-S是最短距離尚未確定的頂點(diǎn)集(看作藍(lán)點(diǎn)集)。

1.初始化:初始化時(shí),只有源點(diǎn)s的最短距離是已知的(SD(s)=0),故紅點(diǎn)集S={s},藍(lán)點(diǎn)集為空。

2.重復(fù)以下工作,按路徑長度遞增次序產(chǎn)生各頂點(diǎn)最短路徑,在當(dāng)前藍(lán)點(diǎn)集中選擇一個(gè)最短距離最小的藍(lán)點(diǎn)來擴(kuò)充紅點(diǎn)集,以保證算法按路徑長度遞增的次序產(chǎn)生各頂點(diǎn)的最短路徑。當(dāng)藍(lán)點(diǎn)集中僅剩下最短距離為∞的藍(lán)點(diǎn),或者所有藍(lán)點(diǎn)已擴(kuò)充到紅點(diǎn)集時(shí),s到所有頂點(diǎn)的最短路徑就求出來了。

注意:
①若從源點(diǎn)到藍(lán)點(diǎn)的路徑不存在,則可假設(shè)該藍(lán)點(diǎn)的最短路徑是一條長度為無窮大的虛擬路徑。
②從源點(diǎn)s到終點(diǎn)v的最短路徑簡稱為v的最短路徑;
s到v的最短路徑長度簡稱為v的最短距離,并記為SD(v)。

考研計(jì)算機(jī)核心考點(diǎn)九:堆排序

大根堆的定義:完全二叉樹,任一非葉子結(jié)點(diǎn)都大于等于它的孩子,也就是說根結(jié)點(diǎn)是最大的。而且顯然大根堆的任一棵子樹也是大根堆。

堆排序的基本思想:記錄區(qū)的分為無序區(qū)和有序區(qū)前后兩部分;
用無序區(qū)的數(shù)建大根堆,得到的根(最大的數(shù))和無序區(qū)的最后一個(gè)數(shù)交換,也就是將該根歸入有序區(qū)的最前端;
如此重復(fù)下去,直至有序區(qū)擴(kuò)展至整個(gè)記錄區(qū)。#p#分頁標(biāo)題#e#

具體操作可按下面步驟實(shí)現(xiàn):

1.建大根堆

2.交換根和無序區(qū)最后一個(gè)數(shù)

3.重建大根堆,因?yàn)榻粨Q只是使根改變了,所以左右子樹依然分別是大根堆。

4.比較根,左子樹的根和右子樹的根,如果根最大,則無須再作調(diào)整,樹已經(jīng)是大根堆了;
如果左子樹的根最大,交換它與根,再遞歸調(diào)整左子樹;
如果右子樹的根最大,交換它與根,再遞歸調(diào)整右子數(shù)。

5.遞歸調(diào)整到葉子的時(shí)候,樹就是大根堆了。

核心考點(diǎn)十:各類排序算法的特點(diǎn)及比較

幾種主要的排序算法:冒泡排序、選擇排序、插入排序、快速排序、歸并排序、Shell排序、堆排序等。

冒泡排序算法思想:將待排序的元素看作是豎著排列的“氣泡”,較小的元素比較輕,從而要往上浮。在冒泡排序算法中我們要對這個(gè)“氣泡”序列處理若干遍。所 謂一遍處理,就是自底向上檢查一遍這個(gè)序列,并時(shí)刻注意兩個(gè)相鄰的元素的順序是否正確。如果發(fā)現(xiàn)兩個(gè)相鄰元素的順序不對,即“輕”的元素在下面,就交換它 們的位置。

選擇排序算法思想:選擇排序的基本思想是對待排序的記錄序列進(jìn)行n-1遍的處理,第i遍處理是將L[i……n]中最小者與L[i]交換位置。這樣,經(jīng)過i遍處理之后,前i個(gè)記錄的位置已經(jīng)是正確的了。

插入排序算法思想:經(jīng)過i-1遍處理后,L[1……i-1]己排好序。第i遍處理僅將L[i]插入L[1……i-1]的適當(dāng)位置,使得L[1……i]又是排好序的序列。

快速排序算法思想:快速排序的基本思想是基于分治策略的。對于輸入的子序列L[p……r],如果規(guī)模足夠小則直接進(jìn)行排序,否則分三步處理:1. 分解(Divide):將輸入的序列L[p……r]劃分成兩個(gè)非空子序列L[p……q]和L[q+1……r],使L[p……q]中任一元素的值不大于 L[q+1……r]中任一元素的值。2. 遞歸求解(Conquer):通過遞歸調(diào)用快速排序算法分別對L[p……q]和L[q+1……r]進(jìn)行排序。3. 合并(Merge):由于對分解出的兩個(gè)子序列的排序是就地進(jìn)行的,所以在L[p……q]和L[q+1……r]都排好序后不需要執(zhí)行任何計(jì)算 L[p……r]就已排好序。

歸并排序算法思想:分而治之(pide - conquer)。每個(gè)遞歸過程涉及三個(gè)步驟:1.分解,把待排序的n個(gè)元素的序列分解成兩個(gè)子序列,每個(gè)子序列包括 n/2 個(gè)元素。2. 治理,對每個(gè)子序列分別調(diào)用歸并排序MergeSort,進(jìn)行遞歸操作。3. 合并,合并兩個(gè)排好序的子序列,生成排序結(jié)果。

Shell排序算法思想:算法先將要排序的一組數(shù)按某個(gè)增量d分成若干組,每組中記錄的下標(biāo)相差d.對每組中全部元素進(jìn)行排序,然后再用一個(gè)較小的增量對它進(jìn)行,在每組中再進(jìn)行排序。當(dāng)增量減到1時(shí),整個(gè)要排序的數(shù)被分成一組,排序完成。

堆排序算法思想:用大根堆排序的基本思想:1.先將初始文件R[1……n]建成一個(gè)大根堆,此堆為初始的無序區(qū)。2.再將關(guān)鍵字最大的記錄R[1](即堆 頂)和無序區(qū)的最后一個(gè)記錄R[n]交換,由此得到新的無序區(qū)R[1……n-1]和有序區(qū)R[n],且滿足R[1……n- 1].keys≤R[n].key.3. 由于交換后新的根R[1]可能違反堆性質(zhì),故應(yīng)將當(dāng)前無序區(qū)R[1……n-1]調(diào)整為堆。

相關(guān)推薦:

結(jié)束
特別聲明:1.凡本網(wǎng)注明稿件來源為“湖北自考網(wǎng)”的,轉(zhuǎn)載必須注明“稿件來源:湖北自考網(wǎng)(m.heywebguys.com)”,違者將依法追究責(zé)任;
2.部分稿件來源于網(wǎng)絡(luò),如有不實(shí)或侵權(quán),請聯(lián)系我們溝通解決。最新官方信息請以湖北省教育考試院及各教育官網(wǎng)為準(zhǔn)!
"2014考研 計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)備考要點(diǎn)" 相關(guān)文章推薦
考研備考專家,免費(fèi)解答疑惑

已有1254人已成功提交信息

微信公眾號(hào) 微信交流群
考研湖北微信公眾號(hào)

掃一掃加入微信公眾號(hào)

隨時(shí)獲取湖北考研政策、通知、公告以及各類學(xué)習(xí)資料、學(xué)習(xí)方法、課件。

成考院校 自考院校 專升本院校 資格證 其它熱門欄目 最新更新
院校指導(dǎo) 報(bào)考條件 特色課程 考研特訓(xùn)營 備考錦囊 課程優(yōu)惠