- 相關(guān)推薦
2017年計(jì)算機(jī)二級(jí)考試msoffice知識(shí)積累:數(shù)據(jù)結(jié)構(gòu)與算法
1.1算法
(1)概念:算法是指一系列解決問(wèn)題的清晰指令。
(2)4個(gè)基本特征:可行性、確定性、有窮性、擁有足夠的情報(bào)。
(3)兩種基本要素:對(duì)數(shù)據(jù)對(duì)象的運(yùn)算和操作、算法的控制結(jié)構(gòu)(運(yùn)算和操作時(shí)問(wèn)的順序)。
(4)設(shè)計(jì)的基本方法:列舉法、歸納法、遞推法、遞歸法、減半遞推技術(shù)和回溯法。
2.算法的復(fù)雜度
(1)算法的時(shí)間復(fù)雜度:執(zhí)行算法所需要的計(jì)算工作量。
(2)算法的空間復(fù)雜度:執(zhí)行算法所需的內(nèi)存空間。
1.2數(shù)據(jù)結(jié)構(gòu)的基本概念
數(shù)據(jù)結(jié)構(gòu)指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合,即數(shù)據(jù)的組織形式。其中邏輯結(jié)構(gòu)反映數(shù)據(jù)元素之間邏輯關(guān)系;存儲(chǔ)結(jié)構(gòu)為數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式,有順序存儲(chǔ)、鏈?zhǔn)酱鎯?chǔ)、索引存儲(chǔ)和散列存儲(chǔ)4種方式。
數(shù)據(jù)結(jié)構(gòu)按各元素之間前后件關(guān)系的復(fù)雜度可劃分為:
(1)線(xiàn)性結(jié)構(gòu):有且只有一個(gè)根節(jié)點(diǎn),且每個(gè)節(jié)點(diǎn)最多有一個(gè)直接前驅(qū)和一個(gè)直接后繼的非空數(shù)據(jù)結(jié)構(gòu)。
(2)非線(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)
1.線(xiàn)性表的基本概念
線(xiàn)性結(jié)構(gòu)又稱(chēng)線(xiàn)性表,線(xiàn)性表是最簡(jiǎn)單也是最常用的一種數(shù)據(jù)結(jié)構(gòu)。
2.線(xiàn)性表的順序存儲(chǔ)結(jié)構(gòu)
元素所占的存儲(chǔ)空間必須連續(xù)。
元素在存儲(chǔ)空間的位置是按邏輯順序存放的。
3.線(xiàn)性表的插入運(yùn)算
在第i個(gè)元素之前插入一個(gè)新元素的步驟如下:
步驟一:把原來(lái)第n個(gè)節(jié)點(diǎn)至第i個(gè)節(jié)點(diǎn)依次往后移一個(gè)元素位置。
步驟二:把新節(jié)點(diǎn)放在第i個(gè)位置上。
步驟三:修正線(xiàn)性表的節(jié)點(diǎn)個(gè)數(shù)。
在最壞情況下,即插入元素在第一個(gè)位置,線(xiàn)性表中所有元素均需要移動(dòng)。
4.線(xiàn)性表的刪除運(yùn)算
刪除第i個(gè)位置的元素的步驟如下:
步驟一:把第i個(gè)元素之后不包括第i個(gè)元素的n-i個(gè)元素依次前移一個(gè)位置;
步驟二:修正線(xiàn)性表的結(jié)點(diǎn)個(gè)數(shù)。
1.4棧和隊(duì)列
1.棧及其基本運(yùn)算
(1)基本概念:棧是一種特殊的線(xiàn)性表,其插入運(yùn)算與刪除運(yùn)算都只在線(xiàn)性表的一端進(jìn)行,也被稱(chēng)為“先進(jìn)后出”表或“后進(jìn)先出”表。
棧頂:允許插入與刪除的一端。
棧底:棧頂?shù)牧硪欢恕?/p>
空棧:棧中沒(méi)有元素的棧。
(2)特點(diǎn)。
棧頂元素是最后插入和最早被刪除的元素。
棧底元素是最早插入和最后被刪除的元素。
棧有記憶作用。
在順序存儲(chǔ)結(jié)構(gòu)下,棧的插入和刪除運(yùn)算不需移動(dòng)表中其他數(shù)據(jù)元素。
棧頂指針top動(dòng)態(tài)反映了棧中元素的變化情況
(3)順序存儲(chǔ)和運(yùn)算:入棧運(yùn)算、退棧運(yùn)算和讀棧頂運(yùn)算。
2.隊(duì)列及其基本運(yùn)算
(1)基本概念:隊(duì)列是指允許在一端進(jìn)行插入,在另一端進(jìn)行刪除的線(xiàn)性表,又稱(chēng)“先進(jìn)先出”的線(xiàn)性表。
隊(duì)尾:允許插入的一端,用尾指針指向隊(duì)尾元素。
排頭:允許刪除的一端,用頭指針指向頭元素的前一位置。
(2)循環(huán)隊(duì)列及其運(yùn)算。
所謂循環(huán)隊(duì)列,就是將隊(duì)列存儲(chǔ)空間的最后一個(gè)位置繞到第一個(gè)位置,形成邏輯上的環(huán)狀空間。
入隊(duì)運(yùn)算是指在循環(huán)隊(duì)列的隊(duì)尾加入一個(gè)新元素。
當(dāng)循環(huán)隊(duì)列非空(s=1)且隊(duì)尾指針等于隊(duì)頭指針時(shí),說(shuō)明循環(huán)隊(duì)列已滿(mǎn),不能進(jìn)行人隊(duì)運(yùn)算,這種情況稱(chēng)為“上溢”。
退隊(duì)運(yùn)算是指在循環(huán)隊(duì)列的隊(duì)頭位置退出一個(gè)元素并賦給指定的變量。首先將隊(duì)頭指針進(jìn)一,然后將排頭指針指向的元素賦給指定的變量。當(dāng)循環(huán)隊(duì)列為空(s=0)時(shí),不能進(jìn)行退隊(duì)運(yùn)算,這種情況稱(chēng)為“下溢”。
1.5線(xiàn)性鏈表
在定義的鏈表中,若只含有一個(gè)指針域來(lái)存放下一個(gè)元素地址,稱(chēng)這樣的鏈表為單鏈表或線(xiàn)性鏈表。
在鏈?zhǔn)酱鎯?chǔ)方式中,要求每個(gè)結(jié)點(diǎn)由兩部分組成:一部分用于存放數(shù)據(jù)元素值,稱(chēng)為數(shù)據(jù)域;另一部分用于存放指針,稱(chēng)為指針域。其中指針用于指向該結(jié)點(diǎn)的前一個(gè)或后一個(gè)結(jié)點(diǎn)(即前件或后件)。
【計(jì)算機(jī)二級(jí)考試msoffice知識(shí)積累:數(shù)據(jù)結(jié)構(gòu)與算法】相關(guān)文章:
2015年計(jì)算機(jī)二級(jí)考試msoffice知識(shí)積累:程序設(shè)計(jì)基礎(chǔ)03-22
2017計(jì)算機(jī)二級(jí)考試MSOffice題庫(kù)03-30
計(jì)算機(jī)二級(jí)《MSOffice》高級(jí)應(yīng)用考試大綱03-30
2024年計(jì)算機(jī)二級(jí)《VFP》考試基礎(chǔ)知識(shí)積累03-20
計(jì)算機(jī)二級(jí)MSOFFICE高級(jí)應(yīng)用考試真題10-11
2016計(jì)算機(jī)二級(jí)MSOffice考試試題及答案11-28
2017年計(jì)算機(jī)二級(jí)考試MSOffice題庫(kù)03-27