計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)總結(jié)
全國(guó)計(jì)算機(jī)二級(jí)考試主要考核使用一種高級(jí)計(jì)算機(jī)語(yǔ)言編寫(xiě)程序以及上機(jī)調(diào)試的基本技能,以下是由學(xué)習(xí)啦小編整理關(guān)于計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)總結(jié)的內(nèi)容,希望大家喜歡!
計(jì)算機(jī)二級(jí)總結(jié):數(shù)據(jù)結(jié)構(gòu)與算法
1.1 算法
算法:是指解題方案的準(zhǔn)確而完整的描述。
算法不等于程序,也不等計(jì)算機(jī)方法,程序的編制不可能優(yōu)于算法的設(shè)計(jì)。
算法的基本特征:是一組嚴(yán)謹(jǐn)?shù)囟x運(yùn)算順序的規(guī)則,每一個(gè)規(guī)則都是有效的,是明確的,此順序?qū)⒃谟邢薜拇螖?shù)下終止。特征包括:
(1)可行性;
(2)確定性,算法中每一步驟都必須有明確定義,不充許有模棱兩可的解釋?zhuān)辉试S有多義性;
(3)有窮性,算法必須能在有限的時(shí)間內(nèi)做完,即能在執(zhí)行有限個(gè)步驟后終止,包括合理的執(zhí)行時(shí)間的含義;
(4)擁有足夠的情報(bào)。
算法的基本要素:一是對(duì)數(shù)據(jù)對(duì)象的運(yùn)算和操作;二是算法的控制結(jié)構(gòu)。 指令系統(tǒng):一個(gè)計(jì)算機(jī)系統(tǒng)能執(zhí)行的所有指令的集合。
基本運(yùn)算和操作包括:算術(shù)運(yùn)算、邏輯運(yùn)算、關(guān)系運(yùn)算、數(shù)據(jù)傳輸。 算法的控制結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。
算法基本設(shè)計(jì)方法:列舉法、歸納法、遞推、遞歸、減斗遞推技術(shù)、回溯法。 算法復(fù)雜度:算法時(shí)間復(fù)雜度和算法空間復(fù)雜度。 算法時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量。 算法空間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
1.2 數(shù)據(jù)結(jié)構(gòu)的基本基本概念
數(shù)據(jù)結(jié)構(gòu)研究的三個(gè)方面:
(1)數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu);
(2)在對(duì)數(shù)據(jù)進(jìn)行處理時(shí),各數(shù)據(jù)元素在計(jì)算機(jī)中的存儲(chǔ)關(guān)系,即數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu); (3)對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算。
數(shù)據(jù)結(jié)構(gòu)是指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合。 數(shù)據(jù)的邏輯結(jié)構(gòu)包含:
(1)表示數(shù)據(jù)元素的信息;
(2)表示各數(shù)據(jù)元素之間的前后件關(guān)系。 數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有順序、鏈接、索引等。
線(xiàn)性結(jié)構(gòu)條件: (1)有且只有一個(gè)根結(jié)點(diǎn); (2)每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。 非線(xiàn)性結(jié)構(gòu):不滿(mǎn)足線(xiàn)性結(jié)構(gòu)條件的數(shù)據(jù)結(jié)構(gòu)。
1.3 線(xiàn)性表及其順序存儲(chǔ)結(jié)構(gòu)
線(xiàn)性表由一組數(shù)據(jù)元素構(gòu)成,數(shù)據(jù)元素的位置只取決于自己的序號(hào),元素之間的相對(duì)位置是線(xiàn)性的。 在復(fù)雜線(xiàn)性表中,由若干項(xiàng)數(shù)據(jù)元素組成的數(shù)據(jù)元素稱(chēng)為記錄,而由多個(gè)記錄構(gòu)成的線(xiàn)性表又稱(chēng)為文件。 非空線(xiàn)性表的結(jié)構(gòu)特征: (1)且只有一個(gè)根結(jié)點(diǎn)a1,它無(wú)前件; (2)有且只有一個(gè)終端結(jié)點(diǎn)an,它無(wú)后件; (3)除根結(jié)點(diǎn)與終端結(jié)點(diǎn)外,其他所有結(jié)點(diǎn)有且只有一個(gè)前件,也有且只有一個(gè)后件。結(jié)點(diǎn)個(gè)數(shù)n稱(chēng)為線(xiàn)性表的長(zhǎng)度,當(dāng)n=0時(shí),稱(chēng)為空表。 線(xiàn)性表的順序存儲(chǔ)結(jié)構(gòu)具有以下兩個(gè)基本特點(diǎn): (1)線(xiàn)性表中所有元素的所占的存儲(chǔ)空間是連續(xù)的; (2)線(xiàn)性表中各數(shù)據(jù)元素在存儲(chǔ)空間中是按邏輯順序依次存放的。 ai的存儲(chǔ)地址為:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)為第一個(gè)元素的地址,k代表每個(gè)元素占的字節(jié)數(shù)。 順序表的運(yùn)算:插入、刪除。
1.4 棧和隊(duì)列
棧是限定在一端進(jìn)行插入與刪除的線(xiàn)性表,允許插入與刪除的一端稱(chēng)為棧頂,不允許插入與刪除的另一端稱(chēng)為棧底。 棧按照“先進(jìn)后出”(FILO)或“后進(jìn)先出”(LIFO)組織數(shù)據(jù),棧具有記憶作用。用top表示棧頂位置,用bottom表示棧底。 棧的基本運(yùn)算:(1)插入元素稱(chēng)為入棧運(yùn)算;(2)刪除元素稱(chēng)為退棧運(yùn)算;(3)讀棧頂元素是將棧頂元素賦給一個(gè)指定的變量,此時(shí)指針無(wú)變化。 隊(duì)列是指允許在一端(隊(duì)尾)進(jìn)入插入,而在另一端(隊(duì)頭)進(jìn)行刪除的線(xiàn)性表。Rear指針指向隊(duì)尾,front指針指向隊(duì)頭。 隊(duì)列是“先進(jìn)行出”(FIFO)或“后進(jìn)后出”(LILO)的線(xiàn)性表。 隊(duì)列運(yùn)算包括(1)入隊(duì)運(yùn)算:從隊(duì)尾插入一個(gè)元素;(2)退隊(duì)運(yùn)算:從隊(duì)頭刪除一個(gè)元素。 循環(huán)隊(duì)列:s=0表示隊(duì)列空,s=1且front=rear表示隊(duì)列滿(mǎn)