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