計算機二級公共基礎知識錦集
計算機科學被認為比其它科學學科與數學的聯系更加密切,一些觀察者說計算就是一門數學科學。下面是小編整理的關于計算機二級公共基礎知識錦集,歡迎大家參考!
1.3棧及線性鏈表
考點5 棧及其基本運算
考試鏈接:
考點5在筆試考試中,是一個必考的內容,在筆試考試中出現的幾率為100%,主要是以選擇的形式出現,分值為2分,此考點為重點掌握內容,讀者應該掌握棧的運算 。
1.棧的基本概念
棧是限定只在一端進行插入與刪除的線性表,通常稱插入、刪除的這一端為棧頂,另一端為棧底。當表中沒有元素時稱為空棧。棧頂元素總是后給插入的元素,從而也是最先被刪除的元素;棧底元素總是最先給插入的元素,從而也是最后才能被刪除的元素。棧是按照"先進后出"或"后進先出"的原則組織數據的。
2.棧的順序存儲及其運算
用一維數組S(1∶m)作為棧的順序存儲空間,其中m為最大容量。
在棧的順序存儲空間S(1∶m)中,S(bottom)為棧底元素,S(top)為棧頂元素。top=0表示棧空;top=m表示棧滿。
棧的基本運算有三種:入棧、退棧與讀棧頂元素。
(1)入棧運算:入棧運算是指在棧頂位置插入一個新元素。首先將棧頂指針加一(即top加1),然后將新元素插入到棧頂指針指向的位置。當棧頂指針已經指向存儲空間的最后一個位置時,說明?臻g已滿,不可能再進行入棧操作。這種情況稱為棧"上溢"錯誤。
(2)退棧運算:退棧是指取出棧頂元素并賦給一個指定的變量。首先將棧頂元素(棧頂指針指向的元素)賦給一個指定的變量,然后將棧頂指針減一(即top減1)。當棧頂指針為0時,說明?眨豢蛇M行退棧操作。這種情況稱為棧的"下溢"錯誤。
(3)讀棧頂元素:讀棧頂元素是指將棧頂元素賦給一個指定的變量。這個運算不刪除棧頂元素,只是將它賦給一個變量,因此棧頂指針不會改變。當棧頂指針為0時,說明?,讀不到棧頂元素。
小技巧:棧是按照"先進后出"或"后進先出"的原則組織數據,但是出棧方式有多種選擇,在考題中經?疾楦鞣N不同的出棧方式。
考點6 線性鏈表的基本概念
考試鏈接:
考點6在筆試考試中出現的幾率為30%,主要是以選擇的形式出現,分值為2分,此考點為識記內容。重點識記結點的組成。
在鏈式存儲方式中,要求每個結點由兩部分組成:一部分用于存放數據元素值,稱為數據域,另一部分用于存放指針,稱為指針域。其中指針用于指向該結點的前一個或后一個結點(即前件或后件)。
鏈式存儲方式既可用于表示線性結構,也可用于表示非線性結構。
(1)線性鏈表
線性表的鏈式存儲結構稱為線性鏈表。
在某些應用中,對線性鏈表中的每個結點設置兩個指針,一個稱為左指針,用以指向其前件結點;另一個稱為右指針,用以指向其后件結點。這樣的表稱為雙向鏈表。
(2)帶鏈的棧
棧也是線性表,也可以采用鏈式存儲結構。帶鏈的?梢杂脕硎占嬎銠C存儲空間中所有空閑的存儲結點,這種帶鏈的棧稱為可利用棧。
疑難解答:在鏈式結構中,存儲空間位置關系與邏輯關系是什么?
在鏈式存儲結構中,存儲數據結構的存儲空間可以不連續,各數據結點的存儲順序與數據元素之間的邏輯關系可以不一致,而數據元素之間的邏輯關系是由指針域來確定的。
1.4樹與二叉樹
考點7 樹與二叉樹及其基本性質
考試鏈接:
考點7在筆試考試中,是一個必考的內容,在筆試考試中出現的幾率為100%,主要是以選擇的形式出現,有時也有出現在填空題中,分值為2分,此考點為重點掌握內容。重點識記樹及二叉樹的性質。
誤區警示:
滿二叉樹也是完全二叉樹,而完全二叉樹一般不是滿二叉樹。應該注意二者的區別。
1、樹的基本概念
樹(tree)是一種簡單的非線性結構。在樹結構中,每一個結點只有一個前件,稱為父結點,沒有前件的結點只有一個,稱為樹的根結點。每一個結點可以有多個后件,它們稱為該結點的子結點。沒有后件的結點稱為葉子結點。
在樹結構中,一個結點所擁有的后件個數稱為該結點的度。葉子結點的度為0。在樹中,所有結點中的最大的度稱為樹的度。
2、二叉樹及其基本性質
(1)二叉樹的定義
二叉樹是一種很有用的非線性結構,具有以下兩個特點:
、俜强斩鏄渲挥幸粋根結點;
、诿恳粋結點最多有兩棵子樹,且分別稱為該結點的左子樹和右子樹。
由以上特點可以看出,在二叉樹中,每一個結點的度最大為2,即所有子樹(左子樹或右子樹)也均為二叉樹,而樹結構中的每一個結點的度可以是任意的。另外,二叉樹中的每個結點的子樹被明顯地分為左子樹和右子樹。在二叉樹中,一個結點可以只有左子樹而沒有右子樹,也可以只有右子樹而沒有左子樹。當一個結點既沒有左子樹也沒有右子樹時,該結點即為葉子結點。
(2)二叉樹的基本性質
二叉樹具有以下幾個性質:
性質1:在二叉樹的第k層上,最多有2k-1(k≥1)個結點;
性質2:深度為m的二叉樹最多有2m-1個結點;
性質3:在任意一棵二叉樹中,度為0的結點(即葉子結點)總是比度為2的結點多一個。
性質4:具有n個結點的二叉樹,其深度至少為[log2n]+1,其中[log2n]表示取log2n的整數部分。
小技巧:在二叉樹的遍歷中,無論是前序遍歷,中序遍歷還是后序遍歷,二叉樹的葉子結點的先后順序都是不變的。
3、滿二叉樹與完全二叉樹
滿二叉樹是指這樣的一種二叉樹:除最后一層外,每一層上的所有結點都有兩個子結點。在滿二叉樹中,每一層上的結點數都達到最大值,即在滿二叉樹的第k層上有2k-1個結點,且深度為m的滿二叉樹有2m-1個結點。
完全二叉樹是指這樣的二叉樹:除最后一層外,每一層上的結點數均達到最大值;在最后一層上只缺少右邊的若干結點。
對于完全二叉樹來說,葉子結點只可能在層次最大的兩層上出現:對于任何一個結點,若其右分支下的子孫結點的最大層次為p,則其左分支下的子孫結點的最大層次或為p,或為p+1。
完全二叉樹具有以下兩個性質:
性質5:具有n個結點的完全二叉樹的深度為[log2n]+1。
性質6:設完全二叉樹共有n個結點。如果從根結點開始,按層次(每一層從左到右)用自然數1,2,……,n給結點進行編號,則對于編號為k(k=1,2,……,n)的結點有以下結論:
、偃鬹=1,則該結點為根結點,它沒有父結點;若k>1,則該結點的父結點編號為INT(k/2)。
、谌2k≤n,則編號為k的結點的左子結點編號為2k;否則該結點無左子結點(顯然也沒有右子結點)。
、廴2k+1≤n,則編號為k的結點的右子結點編號為2k+1;否則該結點無右子結點。
考點8 二叉樹的遍歷
考試鏈接:
考點8在筆試考試中考核幾率為30%,分值為2分,讀者應該熟練掌握各種遍歷的具體算法,能由兩種遍歷的結果推導另一種遍歷的結果。
在遍歷二叉樹的過程中,一般先遍歷左子樹,再遍歷右子樹。在先左后右的原則下,根據訪問根結點的次序,二叉樹的遍歷分為三類:前序遍歷、中序遍歷和后序遍歷。
(1)前序遍歷:先訪問根結點、然后遍歷左子樹,最后遍歷右子樹;并且,在遍歷左、右子樹時,仍然先訪問根結點,然后遍歷左子樹,最后遍歷右子樹。
(2)中序遍歷:先遍歷左子樹、然后訪問根結點,最后遍歷右子樹;并且,在遍歷左、右子樹時,仍然先遍歷左子樹,然后訪問根結點,最后遍歷右子樹。
(3)后序遍歷:先遍歷左子樹、然后遍歷右子樹,最后訪問根結點;并且,在遍歷左、右子樹時,仍然先遍歷左子樹,然后遍歷右子樹,最后訪問根結點。
疑難解答:樹與二叉樹的不同之處是什么?
在二叉樹中,每一個結點的度最大為2,即所有子樹(左子樹或右子樹)也均為二叉樹,而樹結構中的每一個結點的度可以是任意的。
【計算機二級公共基礎知識】相關文章:
計算機二級公共基礎知識試題及答案03-15
關于計算機二級公共基礎知識常見的知識點03-10
2016年計算機二級公共基礎知識考試試題03-07
2016年9月計算機二級《公共基礎知識》沖刺試題(含答案)03-14
計算機公共基礎知識復習知識點03-21