



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、XX 考研計算機(jī)數(shù)據(jù)結(jié)構(gòu)復(fù)習(xí)要點核心考點一:隊列和棧結(jié)構(gòu)的概念理解棧是僅限制在表的一端進(jìn)行插入和刪除運算的線性表,稱插入、刪除這一端為棧頂。 表中無元素時為空棧。 棧的修改是按后進(jìn)先出的原則進(jìn)行的。通常棧有順序棧和鏈棧兩種存儲結(jié)構(gòu)。隊列是一種運算受限的線性表,插入在表的一端進(jìn)行,而刪除在表的另一端進(jìn)行, 允許刪除的一端稱為隊頭, 允許插入的一端稱為隊尾,隊列的操作原則是先進(jìn)先出的。 隊列也有順序存儲和鏈?zhǔn)酱鎯煞N存儲結(jié)構(gòu)。核心考點二:線性表中單鏈表相關(guān)算法設(shè)計與實現(xiàn)一些基礎(chǔ)但又重要的單鏈表相關(guān)算法,如:1.打印單鏈表, void PrintList(List list); 使用一個指針遍歷所有
2、鏈表節(jié)點。2. 兩個升序鏈表,打印 tarList 中的相應(yīng)元素,這些元素的序號由 SeqList 指定,void PrintLots (List tarList , List seqList );使用兩個指針分別遍歷兩個鏈表,每次取出序列鏈表的一個序號后,根據(jù)該序號,到達(dá)目標(biāo)鏈表指定節(jié)點。3.兩個升序鏈表的交集,List Intersect (Listl1 , Listl2 );4.兩個升序鏈表的并集,List Join (List l1, List l2);5. 單鏈表就地置逆, void Reverse(List l ); 使用三個指針表示前驅(qū),當(dāng)前和后繼節(jié)點,每次將當(dāng)前節(jié)點的 Next
3、 指向前驅(qū)節(jié)點,然后向后遍歷直到鏈表末尾。核心考點三:二叉樹的遍歷遍歷的過程就是把非線性結(jié)構(gòu)的二叉樹中的結(jié)點排成一個線性序列的過程。二叉樹遍歷方法可分為兩大類,一類是“寬度優(yōu)先”法,即從根結(jié)點開始,由上到下,從左往右一層一層的遍歷;另一類是“深度優(yōu)先法”,即一棵子樹一棵子樹的遍歷。從二叉樹結(jié)構(gòu)的整體看,二叉樹可以分為根結(jié)點,左子樹和右子樹三部分,只要遍歷了這三部分,就算遍歷了二叉樹。設(shè)D 表示根結(jié)點,L 表示左子樹, R表示右子樹, 則 DLR的組合共有 6 種,即 DLR,DRL,LDR,LRD,RDL,RLD.若限定先左后右,則只有DLR,LDR,LRD三種,分別稱為先(前)序法(先根次序
4、法) ,中序法(中根次序法,對稱法),后序法(后根次序法)。三種遍歷的遞歸算法如下:1. 先序法( DLR)若二叉樹為空,則空操作,否則:訪問根結(jié)點?先序遍歷左子樹?先序遍歷右子樹。2. 中序法( LDR)若二叉樹為空,則空操作,否則:中序遍歷左子樹?訪問根結(jié)點?中序遍歷右子樹。3. 后序法( LRD)若二叉樹為空,則空操作,否則:后序遍歷左子樹?后序遍歷右子樹?訪問根結(jié)點。核心考點四:完全二叉樹中有關(guān)結(jié)點個數(shù)計算完全二叉樹的定義:深度為k,有 n 個結(jié)點的二叉樹當(dāng)且僅當(dāng)其每一個結(jié)點都與深度為k 的滿二叉樹中編號從1 至 n 的結(jié)點一一對應(yīng)時,稱為完全二叉樹。完全二叉樹的葉子數(shù)為(n + 1
5、) / 2取下整??佳杏嬎銠C(jī)核心考點五:森林與二叉樹之間的轉(zhuǎn)換以及轉(zhuǎn)換過程中結(jié)點之間的關(guān)系將一棵樹轉(zhuǎn)換為二叉樹的方法是:1. 樹中所有相鄰兄弟之間加一條連線。2. 對樹中的每個結(jié)點,只保留其與第一個孩子結(jié)點之間的連線,刪去其與其它孩子結(jié)點之間的連線。3. 以樹的根結(jié)點為軸心,將整棵樹順時針旋轉(zhuǎn)一定的角度,使之結(jié)構(gòu)層次分明。森林轉(zhuǎn)換為二叉樹的方法如下:1. 將森林中的每棵樹轉(zhuǎn)換成相應(yīng)的二叉樹。2. 第一棵二叉樹不動,從第二棵二叉樹開始,依次把后一棵二叉樹的根結(jié)點作為前一棵二叉樹根結(jié)點的右孩子, 當(dāng)所有二叉樹連在一起后,所得到的二叉樹就是由森林轉(zhuǎn)換得到的二叉樹。樹和森林都可以轉(zhuǎn)換為二叉樹,二者的不
6、同是:樹轉(zhuǎn)換成的二叉樹,其根結(jié)點必然無右孩子,而森林轉(zhuǎn)換后的二叉樹,其根結(jié)點有右孩子。將一棵二叉樹還原為樹或森林,具體方法如下:1. 若某結(jié)點是其雙親的左孩子,則把該結(jié)點的右孩子、右孩子的右孩子、 都與該結(jié)點 的雙親結(jié)點用線連起來。2. 刪掉原二叉樹中所有雙親結(jié)點與右孩子結(jié)點的連線。3. 由 1、2 兩步所得到的樹或森林,使之結(jié)構(gòu)層次分明。核心考點六:對無向連通圖特性的理解無向圖的每條邊,在頂點計算度的過程中, 都要兩次參與計算 (與邊兩關(guān)聯(lián)的 2 個頂點),因此所有頂點的度之和為偶數(shù)。具有 n 個頂點的無向連通圖,其邊數(shù)大于或等于 n-1. 在無向連通圖中,所有頂點的度數(shù)都有可能大于 1.
7、核心考點七:對 m階 B 樹定義的理解一棵 m階的 B 樹滿足下列條件:1. 每個結(jié)點至多有 m棵子樹。2. 除根結(jié)點外,其它每個分支至少有 m/2 棵子樹。3. 根結(jié)點至少有兩棵子樹(除非 B 樹只有一個結(jié)點)。4. 所有葉結(jié)點在同一層上。 B樹的葉結(jié)點可以看成一種外部結(jié)點,不包含任何信息。5. 有 j 個孩子的非葉結(jié)點恰好有 j-1 個關(guān)鍵碼,關(guān)鍵碼按遞增次序排列。結(jié)點中包含的信息為 (p0,k1,p1,k2,p2,kj-1 ,pj-1 )其中, ki 為關(guān)鍵碼,且滿足ki核心考點八:帶權(quán)圖的最短路徑算法及應(yīng)用迪杰斯特拉( Dijkstra)算法求單源最短路徑,算法思想:設(shè) S 為最短距離
8、已確定的頂點集(看作紅點集), V-S 是最短距離尚未確定的頂點集(看作藍(lán)點集)。1. 初始化:初始化時,只有源點 s 的最短距離是已知的( SD(s)=0),故紅點集 S=s ,藍(lán)點集為空。2. 重復(fù)以下工作,按路徑長度遞增次序產(chǎn)生各頂點最短路徑,在當(dāng)前藍(lán)點集中選擇一個最短距離最小的藍(lán)點來擴(kuò)充紅點集, 以保證算法按路徑長度遞增的次序產(chǎn)生各頂點的最短路徑。 當(dāng)藍(lán)點集中僅剩下最短距離為的藍(lán)點,或者所有藍(lán)點已擴(kuò)充到紅點集時, s 到所有頂點的最短路徑就求出來了。注意:若從源點到藍(lán)點的路徑不存在,則可假設(shè)該藍(lán)點的最短路徑是一條長度為無窮大的虛擬路徑。 從源點 s 到終點 v 的最短路徑簡稱為 v 的
9、最短路徑;s 到 v 的最短路徑長度簡稱為 v 的最短距離,并記為 SD(v)??佳杏嬎銠C(jī)核心考點九:堆排序大根堆的定義:完全二叉樹,任一非葉子結(jié)點都大于等于它的孩子,也就是說根結(jié)點是最大的。 而且顯然大根堆的任一棵子樹也是大根堆。堆排序的基本思想:記錄區(qū)的分為無序區(qū)和有序區(qū)前后兩部分;用無序區(qū)的數(shù)建大根堆,得到的根(最大的數(shù))和無序區(qū)的最后一個數(shù)交換,也就是將該根歸入有序區(qū)的最前端;如此重復(fù)下去,直至有序區(qū)擴(kuò)展至整個記錄區(qū)。具體操作可按下面步驟實現(xiàn):1. 建大根堆2. 交換根和無序區(qū)最后一個數(shù)3. 重建大根堆,因為交換只是使根改變了,所以左右子樹依然分別是大根堆。4. 比較根,左子樹的根和右
10、子樹的根,如果根最大,則無須再作調(diào)整,樹已經(jīng)是大根堆了;如果左子樹的根最大,交換它與根,再遞歸調(diào)整左子樹;如果右子樹的根最大,交換它與根,再遞歸調(diào)整右子數(shù)。5. 遞歸調(diào)整到葉子的時候,樹就是大根堆了。核心考點十:各類排序算法的特點及比較幾種主要的排序算法:冒泡排序、選擇排序、插入排序、快速排序、歸并排序、 Shell 排序、堆排序等。冒泡排序算法思想: 將待排序的元素看作是豎著排列的 “氣泡”,較小的元素比較輕, 從而要往上浮。 在冒泡排序算法中我們要對這個“氣泡”序列處理若干遍。所 謂一遍處理,就是自底向上檢查一遍這個序列,并時刻注意兩個相鄰的元素的順序是否正確。 如果發(fā)現(xiàn)兩個相鄰元素的順序
11、不對,即“輕”的元素在下面,就交換它 們的位置。選擇排序算法思想:選擇排序的基本思想是對待排序的記錄序列進(jìn)行 n-1 遍的處理,第 i 遍處理是將 Li n 中最小者與 Li 交換位置。這樣,經(jīng)過 i 遍處理之后,前 i 個記錄的位置已經(jīng)是正確的了。插入排序算法思想:經(jīng)過 i-1 遍處理后, L1 i-1 己排好序。第 i 遍處理僅將 Li 插入 L1 i-1 的適當(dāng)位置,使得 L1 i 又是排好序的序列。快速排序算法思想:快速排序的基本思想是基于分治策略的。對于輸入的子序列 Lp r ,如果規(guī)模足夠小則直接進(jìn)行排序,否則分三步處理: 1. 分解( Divide ):將輸入的序列 Lp r 劃
12、分成兩個非空子序列 Lp q 和 Lq+1 r ,使 Lp q 中任一元素的值不大于 Lq+1r 中任一元素的值。2.遞歸求解(Conquer):通過遞歸調(diào)用快速排序算法分別對 Lp q 和 Lq+1 r 進(jìn)行排序。3. 合并( Merge):由于對分解出的兩個子序列的排序是就地進(jìn)行的,所以在 Lp q 和 Lq+1 r 都排好序后不需要執(zhí)行任何計算 Lpr 就已排好序。歸并排序算法思想:分而治之(divide - conquer)。每個遞歸過程涉及三個步驟: 1. 分解,把待排序的 n 個元素的序列分解成兩個子序列,每個子序列包括 n/2 個元素。 2. 治理,對每個子序列分別調(diào)用歸并排序 MergeSort ,進(jìn)行遞歸操作。 3. 合并,合并兩個排好序的子序列,生成排序結(jié)果。Shell排序算法思想:算法先將要排序的一組數(shù)按某個增量d 分成若干組,每組中記錄的下標(biāo)相差d. 對每組中全部元素進(jìn)行排序,然后再用一個較小的增量對它進(jìn)行,在每組中再進(jìn)行排序。 當(dāng)增量減到 1 時,整個要排序的數(shù)被分成
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Cefadroxil-13C6-BL-S-578-sup-13-sup-C-sub-6-sub-生命科學(xué)試劑-MCE
- 江門職業(yè)技術(shù)學(xué)院《數(shù)字合成基礎(chǔ)(AE)》2023-2024學(xué)年第一學(xué)期期末試卷
- 武漢晴川學(xué)院《理論與實踐(二)》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江長征職業(yè)技術(shù)學(xué)院《案例與論文寫作》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024-2025學(xué)年宿州市重點中學(xué)數(shù)學(xué)七年級第一學(xué)期期末學(xué)業(yè)水平測試模擬試題含解析
- 江蘇省南通港閘區(qū)五校聯(lián)考2024-2025學(xué)年化學(xué)九年級第一學(xué)期期末監(jiān)測試題含解析
- 大連海洋大學(xué)《全科醫(yī)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 企業(yè)資金流動的審計策略分析
- 遼寧特殊教育師范高等??茖W(xué)校《現(xiàn)代食品營養(yǎng)與安全自科類》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025屆北京理工大附中分校七年級數(shù)學(xué)第一學(xué)期期末教學(xué)質(zhì)量檢測試題含解析
- 2025中考(傳統(tǒng)文化)類滿分作文10篇
- 標(biāo)準(zhǔn)檢驗指導(dǎo)書(SIP)-鈑金
- 交易員心理培訓(xùn)課件
- 京東筆試題庫及答案
- 城市公園綠化施工安全措施方案
- DB11 T 627-2009 好氧降解法治理生活垃圾非衛(wèi)生填埋場監(jiān)測技術(shù)規(guī)范
- 建筑工程趕工計劃措施
- 第十三講先鋒隊與中華民族獨立解放(1919-1949)-中華民族共同體概論專家大講堂課件
- ICU發(fā)熱與體溫管理課件
- 職業(yè)中等專業(yè)學(xué)校計算機(jī)應(yīng)用專業(yè)課程標(biāo)準(zhǔn)
- 《工業(yè)戰(zhàn)略性新興產(chǎn)業(yè)分類目錄(2023)》
評論
0/150
提交評論