考研計算機專業課的複習內容十分廣泛,我們在複習的時候需要抓住重點。小編爲大家精心準備了計算機考研重要的知識點,歡迎大家前來閱讀。
計算機考研核心考點總結核心考點一:隊列和棧結構的概念理解
棧是僅限制在表的一端進行插入和刪除運算的線性表,稱插入、刪除這一端爲棧頂。表中無元素時爲空棧。棧的修改是按後進先出的原則進行的。通常棧有順序棧和鏈棧兩種存儲結構。
隊列是一種運算受限的線性表,插入在表的一端進行,而刪除在表的另一端進行,允許刪除的一端稱爲隊頭,允許插入的一端稱爲隊尾,隊列的操作原則是先進先出的。隊列也有順序存儲和鏈式存儲兩種存儲結構。
核心考點二:線性表中單鏈表相關算法設計與實現
一些基礎但又重要的單鏈表相關算法,如:
1.打印單鏈表,void PrintList(List list); 使用一個指針遍歷所有鏈表節點。
2.兩個升序鏈表,打印tarList中的相應元素,這些元素的序號由SeqList指定,void PrintLots(List tarList, List seqList); 使用兩個指針分別遍歷兩個鏈表,每次取出序列鏈表的一個序號後,根據該序號,到達目標鏈表指定節點。
3.兩個升序鏈表的交集 ,List Intersect(List l1, List l2);
4.兩個升序鏈表的並集 ,List Join(List l1, List l2);
5.單鏈表就地置逆,void Reverse(List l); 使用三個指針表示前驅,當前和後繼節點,每次將當前節點的Next指向前驅節點,然後向後遍歷直到鏈表末尾。
核心考點三:二叉樹的遍歷
遍歷的過程就是把非線性結構的二叉樹中的結點排成一個線性序列的過程。
二叉樹遍歷方法可分爲兩大類,一類是“寬度優先”法,即從根結點開始,由上到下,從左往右一層一層的遍歷;另一類是“深度優先法”,即一棵子樹一棵子樹的遍歷。
從二叉樹結構的整體看,二叉樹可以分爲根結點,左子樹和右子樹三部分,只要遍歷了這三部分,就算遍歷了二叉樹。設D表示根結點,L表示左子樹,R表示右子樹,則DLR的組合共有6種,即DLR,DRL,LDR,LRD,RDL,RLD。若限定先左後右,則只有DLR,LDR,LRD三種,分別稱爲先(前)序法(先根次序法),中序法(中根次序法,對稱法),後序法(後根次序法)。三種遍歷的遞歸算法如下:
1.先序法(DLR)
若二叉樹爲空,則空操作,否則:訪問根結點先序遍歷左子樹先序遍歷右子樹。
2.中序法(LDR)
若二叉樹爲空,則空操作,否則:中序遍歷左子樹訪問根結點中序遍歷右子樹.
3.後序法(LRD)
若二叉樹爲空,則空操作,否則:後序遍歷左子樹後序遍歷右子樹訪問根結點.
核心考點四:完全二叉樹中有關結點個數計算
完全二叉樹的定義:深度爲k,有n個結點的二叉樹當且僅當其每一個結點都與深度爲k的滿二叉樹中編號從1至n的結點一一對應時,稱爲完全二叉樹。
完全二叉樹的葉子數爲(n + 1) / 2取下整。
核心考點五:森林與二叉樹之間的轉換以及轉換過程中結點之間的關係
將一棵樹轉換爲二叉樹的方法是:
1.樹中所有相鄰兄弟之間加一條連線。
2.對樹中的每個結點,只保留其與第一個孩子結點之間的連線,刪去其與其它孩子結點之間的連線。
3.以樹的根結點爲軸心,將整棵樹順時針旋轉一定的角度,使之結構層次分明。
森林轉換爲二叉樹的方法如下:
1.將森林中的每棵樹轉換成相應的二叉樹。
2.第一棵二叉樹不動,從第二棵二叉樹開始,依次把後一棵二叉樹的根結點作爲前一棵二叉樹根結點的右孩子,當所有二叉樹連在一起後,所得到的二叉樹就是由森林轉換得到的二叉樹。
樹和森林都可以轉換爲二叉樹,二者的不同是:樹轉換成的二叉樹,其根結點必然無右孩子,而森林轉換後的二叉樹,其根結點有右孩子。將一棵二叉樹還原爲樹或森林,具體方法如下:
1.若某結點是其雙親的左孩子,則把該結點的右孩子、右孩子的右孩子、……都與該結點 的雙親結點用線連起來。
2.刪掉原二叉樹中所有雙親結點與右孩子結點的連線。
3.整理由1、2兩步所得到的樹或森林,使之結構層次分明。
核心考點六:對無向連通圖特性的理解
無向圖的每條邊,在頂點計算度的過程中,都要兩次參與計算(與邊兩關聯的2個頂點),因此所有頂點的度之和爲偶數。
具有n個頂點的無向連通圖,其邊數大於或等於n-1。
在無向連通圖中,所有頂點的度數都有可能大於1。
核心考點七:對m階B樹定義的理解
一棵m階的B樹滿足下列條件:
1. 每個結點至多有m棵子樹。
2. 除根結點外,其它每個分支至少有m/2棵子樹。
3. 根結點至少有兩棵子樹(除非B樹只有一個結點)。
4. 所有葉結點在同一層上。B樹的葉結點可以看成一種外部結點,不包含任何信息。
5. 有j個孩子的非葉結點恰好有j-1個關鍵碼,關鍵碼按遞增次序排列。結點中包含的信息爲 ∶ (p0,k1,p1,k2,p2, … ,kj-1,pj-1)
其中,ki爲關鍵碼,且滿足ki
核心考點八:帶權圖的最短路徑算法及應用
迪傑斯特拉(Dijkstra)算法求單源最短路徑,算法思想:
設S爲最短距離已確定的頂點集(看作紅點集),V-S是最短距離尚未確定的頂點集(看作藍點集)。
1.初始化:初始化時,只有源點s的最短距離是已知的(SD(s)=0),故紅點集S={s},藍點集爲空。
2.重複以下工作,按路徑長度遞增次序產生各頂點最短路徑,在當前藍點集中選擇一個最短距離最小的藍點來擴充紅點集,以保證算法按路徑長度遞增的次序產生各頂點的最短路徑。當藍點集中僅剩下最短距離爲∞的藍點,或者所有藍點已擴充到紅點集時,s到所有頂點的最短路徑就求出來了。
注意:①若從源點到藍點的路徑不存在,則可假設該藍點的最短路徑是一條長度爲無窮大的虛擬路徑。②從源點s到終點v的最短路徑簡稱爲v的最短路徑;s到v的最短路徑長度簡稱爲v的最短距離,並記爲SD(v)。
核心考點九:堆排序
大根堆的定義:完全二叉樹,任一非葉子結點都大於等於它的孩子,也就是說根結點是最大的。而且顯然大根堆的任一棵子樹也是大根堆。
堆排序的基本思想:記錄區的分爲無序區和有序區前後兩部分;用無序區的數建大根堆,得到的根(最大的數)和無序區的最後一個數交換,也就是將該根歸入有序區的最前端;如此重複下去,直至有序區擴展至整個記錄區。
具體操作可按下面步驟實現:
1.建大根堆
2.交換根和無序區最後一個數
3.重建大根堆,因爲交換隻是使根改變了,所以左右子樹依然分別是大根堆。
4.比較根,左子樹的根和右子樹的根,如果根最大,則無須再作調整,樹已經是大根堆了;如果左子樹的根最大,交換它與根,再遞歸調整左子樹;如果右子樹的根最大,交換它與根,再遞歸調整右子數。
5.遞歸調整到葉子的時候,樹就是大根堆了。
核心考點十:各類排序算法的特點及比較
幾種主要的排序算法:冒泡排序、選擇排序、插入排序、快速排序、歸併排序、Shell排序、堆排序等。
冒泡排序算法思想:將待排序的元素看作是豎着排列的“氣泡”,較小的元素比較輕,從而要往上浮。在冒泡排序算法中我們要對這個“氣泡”序列處理若干遍。所謂一遍處理,就是自底向上檢查一遍這個序列,並時刻注意兩個相鄰的元素的順序是否正確。如果發現兩個相鄰元素的順序不對,即“輕”的元素在下面,就交換它們的位置。
選擇排序算法思想:選擇排序的基本思想是對待排序的記錄序列進行n-1遍的處理,第i遍處理是將L[i..n]中最小者與L交換位置。這樣,經過i遍處理之後,前i個記錄的位置已經是正確的了。
插入排序算法思想:經過i-1遍處理後,L[1..i-1]己排好序。第i遍處理僅將L插入L[1..i-1]的適當位置,使得L[1..i]又是排好序的序列。
快速排序算法思想:快速排序的基本思想是基於分治策略的。對於輸入的子序列L[p..r],如果規模足夠小則直接進行排序,否則分三步處理:1. 分解(Divide):將輸入的序列L[p..r]劃分成兩個非空子序列L[p..q]和L[q+1..r],使L[p..q]中任一元素的值不大於L[q+1..r]中任一元素的值。2. 遞歸求解(Conquer):通過遞歸調用快速排序算法分別對L[p..q]和L[q+1..r]進行排序。3. 合併(Merge):由於對分解出的兩個子序列的排序是就地進行的,所以在L[p..q]和L[q+1..r]都排好序後不需要執行任何計算L[p..r]就已排好序。
歸併排序算法思想:分而治之(divide - conquer)。每個遞歸過程涉及三個步驟:1.分解,把待排序的n個元素的序列分解成兩個子序列,每個子序列包括 n/2 個元素。2. 治理,對每個子序列分別調用歸併排序MergeSort,進行遞歸操作。3. 合併,合併兩個排好序的子序列,生成排序結果。
Shell排序算法思想:算法先將要排序的一組數按某個增量d分成若干組,每組中記錄的下標相差d.對每組中全部元素進行排序,然後再用一個較小的增量對它進行,在每組中再進行排序。當增量減到1時,整個要排序的數被分成一組,排序完成。
堆排序算法思想:用大根堆排序的基本思想:1.先將初始文件R[1..n]建成一個大根堆,此堆爲初始的無序區。2.再將關鍵字最大的記錄R[1](即堆頂)和無序區的最後一個記錄R[n]交換,由此得到新的無序區R[1..n-1]和有序區R[n],且滿足R[1..n-1]≤R[n]。3. 由於交換後新的根R[1]可能違反堆性質,故應將當前無序區R[1..n-1]調整爲堆。
計算機考研要點:基礎概念釋義主機——是計算機硬件的.主體部分,由CPU+MM(主存或內存)組成;
CPU——中央處理器(機),是計算機硬件的核心部件,由運算器+控制器組成;(早期的運、控不在同一芯片上)
主存——計算機中存放正在運行的程序和數據的存儲器,爲計算機的主要工作存儲器,可隨機存取;由存儲體、各種邏輯部件及控制電路組成。
存儲單元——可存放一個機器字並具有特定存儲地址的存儲單位;
存儲元件——存儲一位二進制信息的物理元件,是存儲器中最小的存儲單位,又叫存儲基元或存儲元,不能單獨存取;
存儲字——一個存儲單元所存二進制代碼的邏輯單位;
存儲字長——一個存儲單元所存二進制代碼的位數;
存儲容量——存儲器中可存二進制代碼的總量;(通常主、輔存容量分開描述)
機器字長——CPU能同時處理的數據位數;
指令字長——一條指令的二進制代碼位數;
講評:一種不確切的答法:
CPU與MM合稱主機;
運算器與控制器合稱CPU。
這兩個概念應從結構角度解釋較確切。
計算機考研全程複習策略計算機學科專業基礎綜合考試包括數據結構、計算機組成原理、操作系統與計算機網絡四大科目,內容繁多,考查面廣。正所謂良好的開端是成功的一半,在此提出以下幾點意見和建議,同學們以此着手,嚴格依據最新考試大綱的規定各個擊破,可爲複習全程開一個好頭,打下良好基礎。
一、明確複習目標
瞭解最新考試大綱對四門課程分別規定的範圍及要求,對考試情況有初步認識;系統梳理教材當中的考查知識點,對四門課程進行深入理解,對各章節的知識體系有較爲清晰、條理分明的認知。
二、緊扣考試大綱
任何一門考試,基礎知識點都是重中之重,計算機統考的這幾門課,都是計算機專業的基礎課程,並且可以考覈的基礎知識點都相當多,如果想要拿高分,在考試中脫穎而出,建議20xx年考研的同學們在複習的時候必須嚴謹結合大綱,大綱上列出的知識點一定要複習到,理解及其熟練程度的訓練要到位;對於數據結構要加強動手能力的培養。
三、選擇複習材料
在此,爲大家推薦幾本比較權威的參考教材,希望能對廣大考生的考研複習起到指導作用:
數據結構:
《數據結構(C語言版)》,嚴蔚敏、吳偉民著,清華大學出版社
《數據結構題集(C語言版)》,嚴蔚敏、吳偉民著,清華大學出版社
計算機組成原理:
《計算機組成原理》,唐朔飛著,高等教育出版社
《計算機組成原理學習指導與習題解答》,唐朔飛著,高等教育出版社
操作系統:
《計算機操作系統(第三版)》,湯子瀛等著,西安電子科技大學出版社
《計算機操作系統學習指導與題解》,湯子瀛等著,西安電子科技大學出版社
計算機網絡:
《計算機網絡(第五版)》,謝希仁著,電子工業出版社
《數據通信與計算機網絡(第二版)》,高傳善等著,高等教育出版社
四、複習階段策略
基礎階段複習當全面、細緻,結合教材對考試大綱中規定的考點進行深入的理解、掌握,腳踏實地打好基礎。認真過一遍複習教材與輔導書,對知識體系、框架有個深入瞭解,由於大家的基本情況不同,看書的進度也不相同,對於那些基礎比較好的同學,尤其是計算機專業學生,四門專業課都較好掌握的情況下,在基礎複習看書的階段可以直接看重點章節,如計算機組成原理的數據運算,存儲和CPU,仔細研究書裏面的例題和課後習題部分,深化對這部分知識的理解;對於一些基礎稍微薄弱的同學來說,輔導老師建議考生們在這一階段仔細把教材過一遍,系統梳理教材當中的考查知識點。
另外由於考試大綱對各考點的考查要求存在一定的差異,相應地考生在複習時也應當注意有所側重。複習時可結合自身學習掌握的情況,對考綱中做重點要求以及自己掌握較爲薄弱的知識內容上多下工夫,以求將重點、難點一網打盡。
此外,這一階段可以參加計算機考研基礎輔導班,通過課堂老師的講解可以更快的複習一遍基礎知識。
基礎階段的複習對整個考研備考過程的整體效果起着至關重要的作用,因此在基礎複習階段紮紮實實打牢基礎是最終成功的必要保證!