(完整版)計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)題庫(kù)及答案分析_第1頁(yè)
(完整版)計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)題庫(kù)及答案分析_第2頁(yè)
(完整版)計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)題庫(kù)及答案分析_第3頁(yè)
(完整版)計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)題庫(kù)及答案分析_第4頁(yè)
(完整版)計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)題庫(kù)及答案分析_第5頁(yè)
已閱讀5頁(yè),還剩175頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)公共基礎(chǔ)知識(shí)考題庫(kù)第一章 數(shù)據(jù)結(jié)構(gòu)一、選擇題(1)下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是A)順序存儲(chǔ)的有序線性表 B)線性鏈表C)二叉鏈表 D)有序線性鏈表【答案】 A【解析】二分查找只適用于順序存儲(chǔ)的有序表。在此所說(shuō)的有序表是指線性表中的元素按值非遞減排列(即 從小到大但允許相鄰元素值相等)的。選項(xiàng)A 正確。(2)下列關(guān)于棧的描述正確的是A)在棧中只能插入元素而不能刪除元素B)在棧中只能刪除元素而不能插入元素C)棧是特殊的線性表,只能在一端插入或刪除元素D)棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素【答案】 C【解析】棧是一種特殊的線性表,其插入與刪除運(yùn)算

2、都只在線性表的一端進(jìn)行。由此可見(jiàn),選項(xiàng) A、選項(xiàng) B 和選項(xiàng) D 錯(cuò)誤,正確答案是選項(xiàng)C。(3)下列敘述中正確的是A)一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲(chǔ)結(jié)構(gòu)B)數(shù)據(jù)的邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)屬于非線性結(jié)構(gòu)C)一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)不影響數(shù)據(jù)處理的效率D)一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)影響數(shù)據(jù)處理的效率【答案】 D【解析】一般來(lái)說(shuō),一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲(chǔ)結(jié)構(gòu),常用的存儲(chǔ)結(jié)構(gòu)有順序、鏈 接、索引等存儲(chǔ)結(jié)構(gòu)。而采用不同的存儲(chǔ)結(jié)構(gòu),其數(shù)據(jù)處理的效率是不同的。由此可見(jiàn),選項(xiàng)D 的說(shuō)法正 確。(4)算法執(zhí)行過(guò)程中所需要的存儲(chǔ)空間稱為算

3、法的A)時(shí)間復(fù)雜度 B)計(jì)算工作量 C)空間復(fù)雜度 D)工作空間【答案】 c【解析】算法執(zhí)行時(shí)所需要的存儲(chǔ)空間,包括算法程序所占的空間、輸入的初始數(shù)據(jù) 所占的存儲(chǔ)空間以及算法執(zhí)行過(guò)程中所需要的額外空間, 其中額外空間還包括算法程序執(zhí)行過(guò)程的工作單元以及某種數(shù)據(jù) 結(jié)構(gòu)所需要的附加存儲(chǔ)空間。這些存儲(chǔ)空間共稱為算法的空間復(fù)雜度。1 / 902 / 90(5)下列關(guān)于隊(duì)列的敘述中正確的是A)在隊(duì)列中只能插入數(shù)據(jù) B)在隊(duì)列中只能刪除數(shù)據(jù)C)隊(duì)列是先進(jìn)先出的線性表 D)隊(duì)列是先進(jìn)后出的線性表【答案】 c【解析】對(duì)隊(duì)列可以進(jìn)行插入和刪除數(shù)據(jù)的操作,只是插入數(shù)據(jù)只能在隊(duì)尾,刪除數(shù)據(jù)只能在隊(duì)頭。所以 隊(duì)列是先

4、進(jìn)先出的線性表。(6)設(shè)有下列二叉樹(shù):AB CD E F對(duì)此二叉樹(shù)后序遍歷的結(jié)果為A) ABCDEF B) BDAECF C) ABDCEF D) DBEFCA【答案】 D【解析】二叉樹(shù)的遍歷分為先序、中序、后序三種不同方式。本題要求后序遍歷。其遍歷順序應(yīng)該為: 后序遍歷左子樹(shù)一后序遍歷右子樹(shù)一訪問(wèn)根結(jié)點(diǎn)。按照定義,后序遍歷序列是 DBEFCA,故答案為 D。(7) 下列敘述中正確的是( )A)程序執(zhí)行的效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)B)程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)C)程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量D)以上三種說(shuō)法都不對(duì)【答案】 A【解析】本題考查程序效率。程序效率是指程序運(yùn)行速度

5、和程序占用的存儲(chǔ)空間。影響程序效率的因素是 多方面的,包括程序的設(shè)計(jì)、使用的算法、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)等。在確定數(shù)據(jù)邏輯結(jié)構(gòu)的基礎(chǔ)上,選擇一種 合適的存儲(chǔ)結(jié)構(gòu),可以使得數(shù)據(jù)操作所花費(fèi)的時(shí)間少,占用的存儲(chǔ)空間少,即提高程序的效率。因此,本 題選項(xiàng)A 的說(shuō)法是正確的。(8) 下列敘述中正確的是( )A)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)必定是一一對(duì)應(yīng)的B)由于計(jì)算機(jī)存儲(chǔ)空間是向量式的存儲(chǔ)結(jié)構(gòu),因此,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)一定是線性結(jié)構(gòu) C)程序設(shè)計(jì)語(yǔ)言中的數(shù)組一般是順序存儲(chǔ)結(jié)構(gòu),因此,利用數(shù)組只能處理線線結(jié)構(gòu)D)以上三種說(shuō)法都不對(duì)3 / 900 2 0 2【答案】 D【解析】本題考查數(shù)據(jù)結(jié)構(gòu)的基本知識(shí)。數(shù)據(jù)之間的相互關(guān)系

6、稱為邏輯結(jié)構(gòu)。通常分為四類基本邏輯結(jié)構(gòu),即集合、線性結(jié)構(gòu)、樹(shù)型結(jié)構(gòu)、圖狀結(jié) 構(gòu)或網(wǎng)狀結(jié)構(gòu)。存儲(chǔ)結(jié)構(gòu)是邏輯結(jié)構(gòu)在存儲(chǔ)器中的映象,它包含數(shù)據(jù)元素的映象和關(guān)系的映象。存儲(chǔ)結(jié)構(gòu) 在計(jì)算機(jī)中有兩種, 即順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。 順序存儲(chǔ)結(jié)構(gòu)是把數(shù)據(jù)元素存儲(chǔ)在一塊連續(xù)地址空 間的內(nèi)存中;鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)是使用指針把相互直接關(guān)聯(lián)的節(jié)點(diǎn)鏈接起來(lái)。因此,這兩種存儲(chǔ)結(jié)構(gòu)都是線性 的。可見(jiàn),邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)不是一一對(duì)應(yīng)的。因此,選項(xiàng) A 和選項(xiàng) B 的說(shuō)法都是錯(cuò)誤的。無(wú)論數(shù)據(jù)的邏輯結(jié)構(gòu)是線性的還是非線性的, 只能選擇順序存儲(chǔ)結(jié)構(gòu)或鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)來(lái)實(shí)現(xiàn)存儲(chǔ)。 程序設(shè) 計(jì)語(yǔ)言中,數(shù)組是內(nèi)存中一段連續(xù)的地址空間,可看作是

7、順序存儲(chǔ)結(jié)構(gòu)。可以用數(shù)組來(lái)實(shí)現(xiàn)樹(shù)型邏輯結(jié)構(gòu) 的存儲(chǔ),比如二叉樹(shù)。因此,選項(xiàng) c 的說(shuō)法是錯(cuò)誤的(9) 冒泡排序在最壞情況下的比較次數(shù)是( )2A)n(n+1)/2 B)nlog n【答案】 CC)n(n-1)/2D)n/2【解析】冒泡排序的基本思想是:將相鄰的兩個(gè)元素進(jìn)行比較,如果反序,則交換;對(duì)于一個(gè)待排序的序 列,經(jīng)一趟排序后,最大值的元素移動(dòng)到最后的位置,其他值較大的元素也向最終位置移動(dòng),此過(guò)程稱為 一趟冒泡。對(duì)于有 n 個(gè)數(shù)據(jù)的序列,共需n-1 趟排序,第i 趟對(duì)從 l 到n-i 個(gè)數(shù)據(jù)進(jìn)行比較、交換。冒泡 排序的最壞情況是待排序序列逆序, 第 l 趟比較n-1 次, 第 2 趟比較n

8、-2 次。 依此類推, 最后趟比較 1 次, 一共進(jìn)行n-l 趟排序。因此,冒泡排序在最壞情況下的比較次數(shù)是(n-1)+(n-2)+l,結(jié)果為 n(n-1)/2。 本題的正確答案是選項(xiàng) c。(10) 一棵二叉樹(shù)中共有 70 個(gè)葉子結(jié)點(diǎn)與 80 個(gè)度為 1 的結(jié)點(diǎn),則該二叉樹(shù)中的總結(jié)點(diǎn)數(shù)為( )A)219B)221 C)229 D)231【答案】 A【解析】本題考查數(shù)據(jù)結(jié)構(gòu)中二叉樹(shù)的性質(zhì)。二叉樹(shù)滿足如下一條性質(zhì),即:對(duì)任意一棵二叉樹(shù),若終端結(jié)點(diǎn)(即葉子結(jié)點(diǎn))數(shù)為n ,而其度數(shù)為 2 的結(jié)點(diǎn)數(shù)為n ,則 n = n +l。根據(jù)這條性質(zhì)可知,若二叉樹(shù)中有 70 個(gè)葉子結(jié)點(diǎn),則其度為 2 的結(jié)點(diǎn)數(shù)為

9、70-1,即 69 個(gè)。二叉樹(shù)的總 結(jié)點(diǎn)數(shù)是度為 2、度為 1 和葉子結(jié)點(diǎn)的總和,因此, 題目中的二叉樹(shù)總結(jié)點(diǎn)數(shù)為69+80+70,即 219。因此, 本題的正確答案是選項(xiàng)A。(11) 下列敘述中正確的是( )A)算法的效率只與問(wèn)題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)B)算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量C)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)是一一對(duì)應(yīng)的D)算法的時(shí)間復(fù)雜度與空間復(fù)雜度一定相關(guān)【答案】 B【解析】本題考查數(shù)據(jù)結(jié)構(gòu)中有關(guān)算法的基本知識(shí)和概念。數(shù)據(jù)的結(jié)構(gòu),直接影響算法的選擇和效率。而 數(shù)據(jù)結(jié)構(gòu)包括兩方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)和數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)。因此,數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)都影響算4 /

10、 90法的效率。選項(xiàng)A 的說(shuō)法是錯(cuò)誤的。算法的時(shí)間復(fù)雜度是指算法在計(jì)算機(jī)內(nèi)執(zhí)行時(shí)所需時(shí)間的度量;與時(shí) 間復(fù)雜度類似,空間復(fù)雜度是指算法在計(jì)算機(jī)內(nèi)執(zhí)行時(shí)所需存儲(chǔ)空間的度量。因此,選項(xiàng)B 的說(shuō)法是正確 的。數(shù)據(jù)之間的相互關(guān)系稱為邏輯結(jié)構(gòu)。通常分為四類基本邏輯結(jié)構(gòu),即集合、線性結(jié)構(gòu)、樹(shù)型結(jié)構(gòu)、圖狀結(jié) 構(gòu)或網(wǎng)狀結(jié)構(gòu)。存儲(chǔ)結(jié)構(gòu)是邏輯結(jié)構(gòu)在存儲(chǔ)器中的映象,它包含數(shù)據(jù)元素的映象和關(guān)系的映象。存儲(chǔ)結(jié)構(gòu) 在計(jì)算機(jī)中有兩種, 即順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。 可見(jiàn), 邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)不是一一對(duì)應(yīng)的。 因此, 選項(xiàng) c 的說(shuō)法是錯(cuò)誤的。有時(shí)人們?yōu)榱颂岣咚惴ǖ臅r(shí)間復(fù)雜度,而以犧牲空間復(fù)雜度為代價(jià)。但是,這兩 者之間沒(méi)

11、有必然的聯(lián)系。因此,選項(xiàng) D 的說(shuō)法是錯(cuò)誤的。(12)下列關(guān)于算法的時(shí)間復(fù)雜度陳述正確的是A) 算法的時(shí)間復(fù)雜度是指執(zhí)行算法程序所需要的時(shí)間B) 算法的時(shí)間復(fù)雜度是指算法程序的長(zhǎng)度C) 算法的時(shí)間復(fù)雜度是指算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)D) 算法的時(shí)間復(fù)雜度是指算法程序中的指令條數(shù)【答案】 C【解析】 算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量, 也就是算法在執(zhí)行過(guò)程中所執(zhí)行的基本運(yùn) 算的次數(shù),而不是指程序運(yùn)行需要的時(shí)間或是程序的長(zhǎng)度。(13)下列關(guān)于棧的敘述中正確的是A)在棧中只能插入數(shù)據(jù) B)在棧中只能刪除數(shù)據(jù)C)棧是先進(jìn)先出的線性表 D)棧是先進(jìn)后出的線性表【答案】 D【解析】對(duì)

12、棧可進(jìn)行插入和刪除數(shù)據(jù)的操作,但必須牢記插入和刪除數(shù)據(jù)都只能是在棧頂,是一種特殊的 線性表。所以棧是先進(jìn)后出的線性表。(14)設(shè)有下列二叉樹(shù):AB CD E FF對(duì)此二叉樹(shù)中序遍歷的結(jié)果為A) ABCDEF B) DAECF C) BDAECF D) DBEFCA【答案】 C【解析】二叉樹(shù)的遍歷分為先序、中序、后序三種不同方式。本題要求中序遍歷,其遍歷順序應(yīng)該為:中 序遍歷左子樹(shù)-訪問(wèn)根結(jié)點(diǎn)-中序遍歷右子樹(shù)。按照定義,中序遍歷序列是 BDAECF,故答案為 B。5 / 90(15)按照“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是A)隊(duì)列B)棧C)雙向鏈表 D)二叉樹(shù)【答案】 B【解析】 “后進(jìn)先出”表

13、示最后被插入的元素最先能被刪除。選項(xiàng) A 中,隊(duì)列是指允許在一端進(jìn)行插入、 而在另一端進(jìn)行刪除的線性表,在隊(duì)列這種數(shù)據(jù)結(jié)構(gòu)中,最先插入的元素將最先能夠被刪除,反之,最后 插入的元素將最后才能被刪除,隊(duì)列又稱為“先進(jìn)先出”的線性表,它體現(xiàn)了“先來(lái)先服務(wù)”的原則:選 項(xiàng) B 中,棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素,棧底元素總是最先被插入的元 素,從而也是最后才能被刪除的元素。隊(duì)列和棧都屬于線性表,它們具有順序存儲(chǔ)的特點(diǎn),所以才有“先 進(jìn)先出”和 “后進(jìn)先出”的數(shù)據(jù)組織方式。 雙向鏈表使用鏈?zhǔn)酱鎯?chǔ)方式 二叉樹(shù)也通常采用鏈?zhǔn)酱鎯?chǔ)方式, 它們的存儲(chǔ)數(shù)據(jù)的空間可以是不連續(xù)的,各個(gè)數(shù)據(jù)

14、結(jié)點(diǎn)的存儲(chǔ)順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一 致。所以選項(xiàng) c 和選項(xiàng) D 錯(cuò)。(16)下列敘述中正確的是A)線性鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)B)棧與隊(duì)列是非線性結(jié)構(gòu)C)雙向鏈表是非線性結(jié)構(gòu)D)只有根結(jié)點(diǎn)的二叉樹(shù)是線性結(jié)構(gòu)【答案】 A【解析】一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)如果滿足下列兩個(gè)條件: (1)有且只有一個(gè)根結(jié)點(diǎn);(2)每一個(gè)結(jié)點(diǎn)最多有一 個(gè)前件,也最多有一個(gè)后件。則稱為線性結(jié)構(gòu)。線性鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),選項(xiàng)A 的說(shuō)法是正確 的。棧與隊(duì)列是特殊的線性表,它們也是線性結(jié)構(gòu),選項(xiàng)B 的說(shuō)法是錯(cuò)誤的;雙向鏈表是線性表的鏈?zhǔn)酱?儲(chǔ)結(jié)構(gòu),其對(duì)應(yīng)的邏輯結(jié)構(gòu)也是線性結(jié)構(gòu),而不是非線性結(jié)構(gòu),選項(xiàng)c 的說(shuō)法是

15、錯(cuò)誤的;二叉樹(shù)是非線性 結(jié)構(gòu),而不是線性結(jié)構(gòu),選項(xiàng) D 的說(shuō)法是錯(cuò)誤的。因此,本題的正確答案為A(17)對(duì)如下二叉樹(shù)AB CD E F進(jìn)行后序遍歷的結(jié)果為 A) ABCDEFC) ABDECF【答案】 DB) DBEAFCD) DEBFCA【解析】二叉樹(shù)后序遍歷的簡(jiǎn)單描述如下:若二叉樹(shù)為空,則結(jié)束返回。否則( 1)后序遍歷左子樹(shù); (2) 后序遍歷右子樹(shù); (3)訪問(wèn)根結(jié)點(diǎn)。也就是說(shuō),后序遍歷是指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這 三者中,首先遍歷左子樹(shù),然后遍歷右子樹(shù),最后訪問(wèn)根結(jié)點(diǎn),并且,在遍歷左、右子樹(shù)時(shí),仍然先遍歷 左子樹(shù),然后遍歷右子樹(shù),最后訪問(wèn)根結(jié)點(diǎn)。根據(jù)后序遍歷的算法,后序遍

16、歷的結(jié)果為DEBFCA。(18) 下列對(duì)隊(duì)列的敘述正確的是( )A)隊(duì)列屬于非線性表B)隊(duì)列按“先進(jìn)后出”原則組織數(shù)據(jù)C)隊(duì)列在隊(duì)尾刪除數(shù)據(jù)D)隊(duì)列按“先進(jìn)先出”原則組織數(shù)據(jù)【答案】 D【解析】本題考查數(shù)據(jù)結(jié)構(gòu)中隊(duì)列的基本知識(shí)。隊(duì)列是一種限定性的線性表,它只允許在表的一端插入元 素,而在另一端刪除元素,所以隊(duì)列具有先進(jìn)先出的特性。在隊(duì)列中,允許插入元素的一端叫做隊(duì)尾,允 許刪除的一端則稱為隊(duì)頭。這與日常生活中的排隊(duì)是一致的,最早進(jìn)入隊(duì)列的人最早離開(kāi),新來(lái)的人總是 加入到隊(duì)尾。因此,本題中只有選項(xiàng) D 的說(shuō)法是正確的。(19) 對(duì)下列二叉樹(shù)進(jìn)行前序遍歷的結(jié)果為( )A) DYBEAFCZX B)

17、 YDEBFZXCA C) ABDYECFXZ D) ABCDEFXYZ【答案】 C【解析】本題考查數(shù)據(jù)結(jié)構(gòu)中二叉樹(shù)的遍歷。根據(jù)對(duì)二叉樹(shù)根的訪問(wèn)先后順序不同,分別稱為前序遍歷、 中序遍歷和后序遍歷。這三種遍歷都是遞歸定義的,即在其子樹(shù)中也按照同樣的規(guī)律進(jìn)行遍歷。下面就是 前序遍歷方法的遞歸定義。當(dāng)二叉樹(shù)的根不為空時(shí),依次執(zhí)行如下3 個(gè)操作:(1)訪問(wèn)根結(jié)點(diǎn)(2)按先序遍歷左子樹(shù)(3)按先序遍歷右子樹(shù)根據(jù)如上前序遍歷規(guī)則,來(lái)遍歷本題中的二叉樹(shù)。首先訪問(wèn)根結(jié)點(diǎn),即 A,然后遍歷 A 的左子樹(shù)。遍歷左 子樹(shù)同樣按照相同的規(guī)則首先訪問(wèn)根結(jié)點(diǎn) B,然后遍歷 B 的左子樹(shù)。遍歷 B 的左子樹(shù),首先訪問(wèn) D

18、,然后 訪問(wèn) D 的左子樹(shù), D 的左子樹(shù)為空,接下來(lái)訪問(wèn) D 的右子樹(shù),即Y。遍歷完 B 的左子樹(shù)后,再遍歷B 的右子 樹(shù),即 E。到此遍歷完 A 的左子樹(shù),接下來(lái)遍歷 A 的右子樹(shù)。按照同樣的規(guī)則,首先訪問(wèn) C,然后遍歷 c 的左子樹(shù)。即 F。c 的左子樹(shù)遍歷完,接著遍歷 c 的右子樹(shù)。首先訪問(wèn)右子樹(shù)的根結(jié)點(diǎn) X,然后訪問(wèn) X 的 左子樹(shù), X 的左子樹(shù),即 Z,接下來(lái)訪問(wèn) X 的右子樹(shù),右子樹(shù)為空。到此,把題目的二叉樹(shù)進(jìn)行了一次前 序遍歷。遍歷的結(jié)果為ABDYECFXZ,故本題的正確答案為選項(xiàng) C。(20) 某二叉樹(shù)中有 n 個(gè)度為 2 的結(jié)點(diǎn),則該二叉樹(shù)中的葉子結(jié)點(diǎn)數(shù)為( )6 / 9

19、07 / 90o 2 0 2A) n+1 B) n-1 C) 2n D) n/2【答案】 A【解析】本題考查數(shù)據(jù)結(jié)構(gòu)中二叉樹(shù)的性質(zhì)。 二叉樹(shù)滿足如下一條性質(zhì),即:對(duì)任意一棵二叉樹(shù),若終端結(jié)點(diǎn)(即葉子結(jié)點(diǎn))數(shù)為n ,而其度數(shù)為 2 的結(jié)點(diǎn)數(shù)為n ,則 n =n +l。根據(jù)這條性質(zhì)可知,若二叉樹(shù)中有 n 個(gè)度為 2 的結(jié)點(diǎn),則該二叉樹(shù)中的葉子結(jié)點(diǎn)數(shù)為n+l。因此,本題的 正確答案是選項(xiàng)A。(21)在深度為 7 的滿二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為A) 32 B) 31 C) 64 D) 63【答案】 C【解析】在二叉樹(shù)的第 k 層上,最多有 2k-1 (k1)個(gè)結(jié)點(diǎn)。對(duì)于滿二叉樹(shù)來(lái)說(shuō),每一層上的結(jié)點(diǎn)數(shù)都

20、達(dá)到最大值,即在滿二叉樹(shù)的第 k 層上有 2k-1 個(gè)結(jié)點(diǎn)。因此,在深度為 7 的滿二叉樹(shù)中,所有葉子結(jié)點(diǎn)在第 7 層上即其結(jié)點(diǎn)數(shù)為 2k-1=27-1=64 因此本題的正確答案為c。(22)下列敘述中正確的是A)一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大B)一個(gè)算法的空間復(fù)雜度大,則期時(shí)間復(fù)雜度必定小C)一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小D)上述三種說(shuō)法都不對(duì)【答案】 D【解析】 時(shí)間復(fù)雜度是指一個(gè)算法執(zhí)行時(shí)間的相對(duì)度量; 空間復(fù)雜度是指算法在運(yùn)行過(guò)程中臨時(shí)占用所需 存儲(chǔ)空間大小的度量。人們都希望選擇一個(gè)既省存儲(chǔ)空間、又省執(zhí)行時(shí)間的算法。然而,有時(shí)為了加快算 法的運(yùn)行速度,不得

21、不增加空間開(kāi)銷;有時(shí)為了能有效地存儲(chǔ)算法和數(shù)據(jù),又不得不犧牲運(yùn)行時(shí)間。時(shí)間 和空間的效率往往是一對(duì)矛盾,很難做到兩全。但是,這不適用于所有的情況,也就是說(shuō)時(shí)間復(fù)雜度和空 間復(fù)雜度之間雖然經(jīng)常矛盾。但是二者不存在必然的聯(lián)系。因此,選項(xiàng)A、B、c 的說(shuō)法都是錯(cuò)誤的。故本 題的正確答案是 D。(23)在長(zhǎng)度為64 的有序線性表中進(jìn)行順序查找,最壞情況下需要比較的次數(shù)為A) 63B) 64C) 6 D) 7【答案】 B【解析】 在長(zhǎng)度為 64 的有序線性表中, 其中的 64 個(gè)數(shù)據(jù)元素是按照從大到小或從小到大的順序排列有序 的。在這樣的線性表中進(jìn)行順序查找, 最壞的情況就是查找的數(shù)據(jù)元素不在線性表中或

22、位于線性表的最后。 按照線性表的順序查找算法,首先用被查找的數(shù)據(jù)和線性表的第一個(gè)數(shù)據(jù)元素進(jìn)行比較。若相等,則查找 成功,否則,繼續(xù)進(jìn)行比較,即和線性表的第二個(gè)數(shù)據(jù)元素進(jìn)行比較。同樣,若相等,則查找成功,否則, 繼續(xù)進(jìn)行比較。依次類推,直到在線性表中查找到該數(shù)據(jù)或查找到線性表的最后一個(gè)元素,算法才結(jié)束。 因此,在長(zhǎng)度為64 的有序線性表中進(jìn)行順序查找,最壞的情況下需要比較64 次。因此,本題的正確答案 為 B。8 / 90(24)對(duì)下列二叉樹(shù)進(jìn)行中序遍歷的結(jié)果是A) ACBDFEGC) ABDCGEFB) ACBDFGED) FCADBEGFCA DBEG【答案】 A【解析】 二叉樹(shù)的中序遍歷遞

23、歸算法為: 如果根不空, 則(1)按中序次序訪問(wèn)左子樹(shù); (2)訪問(wèn)根結(jié)點(diǎn): (3) 按中序次序訪問(wèn)右子樹(shù)。否則返回。本題中,根據(jù)中序遍歷算法應(yīng)首先按照中序次序訪問(wèn)以c 為根結(jié)點(diǎn) 的左子樹(shù),然后再訪問(wèn)根結(jié)點(diǎn) F,最后才訪問(wèn)以 E 為根結(jié)點(diǎn)的右子樹(shù)。遍歷以c 為根結(jié)點(diǎn)的左子樹(shù)同樣要 遵循中序遍歷算法,因此中序遍歷結(jié)果為ACBD;然后遍歷根結(jié)點(diǎn) F;遍歷以 E 為根結(jié)點(diǎn)的右子樹(shù),同樣要 遵循中序遍歷算法,因此中序遍歷結(jié)果為 EG。最后把這三部分的遍歷結(jié)果按順序連接起來(lái),中序遍歷結(jié) 果為ACBDFEG。因此,本題的正確答案是 A。(25)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指_。A)存儲(chǔ)在外存中的數(shù)據(jù) B)數(shù)據(jù)所占的存

24、儲(chǔ)空間量C)數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式 D)數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示【答案】 D【解析】數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),也稱數(shù)據(jù)的物理結(jié)構(gòu)。所 以選項(xiàng) D 正確。(26)下列關(guān)于棧的描述中錯(cuò)誤的是_。 A) 棧是先進(jìn)后出的線性表B) 棧只能順序存儲(chǔ)C) 棧具有記憶作用D) 對(duì)棧的插入與刪除操作中,不需要改變棧底指針【答案】 B【解析】本題考核棧的基本概念,我們可以通過(guò)排除法來(lái)確定本題的答案。棧是限定在一端進(jìn)行插入與刪 除的線性表,棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入 的元素,從而也是最后才能被刪除的元素,即棧是按

25、照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的, 這便是棧的記憶作用,所以選項(xiàng) A 和選項(xiàng)C 正確。對(duì)棧進(jìn)行插入和刪除操作時(shí),棧頂位置是動(dòng)態(tài)變化的, 棧底指針不變,選項(xiàng) D 正確。由此可見(jiàn),選項(xiàng) B 的描述錯(cuò)誤。(27)對(duì)于長(zhǎng)度為n的線性表,在最壞情況下,下列各排序法所對(duì)應(yīng)的比較次數(shù)中正確的是_。 A)冒泡排序?yàn)閚/2 B)冒泡排序?yàn)閚9 / 90C)快速排序?yàn)閚D)快速排序?yàn)閚(n-1)/2【答案】 D【解析】假設(shè)線性表的長(zhǎng)度為 n,在最壞情況下,冒泡排序和快速排序需要的比較次數(shù)為n(n1)2。由 此可見(jiàn),選項(xiàng) D 正確。(28)對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為_(kāi)

26、。A) log2n B) n/2C) nD) n+1【答案】 C【解析】在長(zhǎng)度為 n 的線性表中進(jìn)行順序查找,最壞情況下需要比較 n 次。選項(xiàng)C 正確。(29)下列對(duì)于線性鏈表的描述中正確的是_。A) 存儲(chǔ)空間不一定是連續(xù),且各元素的存儲(chǔ)順序是任意的B) 存儲(chǔ)空間不一定是連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面C) 存儲(chǔ)空間必須連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面D) 存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的【答案】 A【解析】在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,存儲(chǔ)數(shù)據(jù)的存儲(chǔ)空間可以不連續(xù),各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與數(shù)據(jù)元素之間的 邏輯關(guān)系可以不一致,數(shù)據(jù)元素之間的邏輯關(guān)系,是由指針域來(lái)確定的。由此可見(jiàn),

27、選項(xiàng)A 的描述正確。(30)某二叉樹(shù)中度為 2 的結(jié)點(diǎn)有 18個(gè),則該二叉樹(shù)中有 _ 個(gè)葉子結(jié)點(diǎn)。【答案】 19【解析】二叉樹(shù)具有如下性質(zhì):在任意一棵二叉樹(shù)中,度為O 的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為 2 的結(jié)點(diǎn)多 一個(gè)。根據(jù)題意,度為 2 的節(jié)點(diǎn)為 18 個(gè),那么,葉子結(jié)點(diǎn)就應(yīng)當(dāng)是 19 個(gè)。(1)線性表若采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)時(shí),要求內(nèi)存中可用存儲(chǔ)單元的地址A)必須是連續(xù)的B)部分地址必須是連續(xù)的C)一定是不連續(xù)的D)連續(xù)不連續(xù)都可以解析: 在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)空間可以是連續(xù)的,也可以是不連續(xù)的,各數(shù)據(jù)結(jié)點(diǎn)的 存儲(chǔ)順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致。故本題答案應(yīng)該為選項(xiàng) D)(

28、2)在待排序的元素序列基本有序的前提下,效率最高的排序方法是A)冒泡排序B)選擇排序C)快速排序D)歸并排序解析: 從平均時(shí)間性能而言,快速排序最佳,其所需時(shí)間最少,但快速排序在最壞情況下的時(shí)間性能不10 / 90如堆排序和歸并排序。 當(dāng)序列中的記錄基本有序或元素個(gè)數(shù)較少時(shí), 冒泡排序和簡(jiǎn)單選擇排序?yàn)樽罴雅判?方法,故本題答案應(yīng)該為選項(xiàng) A)。(3)下列敘述中,錯(cuò)誤的是A)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)處理的效率密切相關(guān)B)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)處理的效率無(wú)關(guān)C)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的D)一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)解析: 一般來(lái)說(shuō),一種數(shù)據(jù)結(jié)構(gòu)根據(jù)需要可以表示成多種存儲(chǔ)

29、結(jié)構(gòu)。常用的存儲(chǔ)結(jié)構(gòu)有順序、鏈接、索 引等,而采用不同的存儲(chǔ)結(jié)構(gòu),其數(shù)據(jù)處理的效率是不同的;一個(gè)數(shù)據(jù)結(jié)構(gòu)中的各數(shù)據(jù)元素在計(jì)算機(jī)存儲(chǔ) 空間中的位置關(guān)系與邏輯關(guān)系是有可能不同的。故本題答案應(yīng)該為選項(xiàng) B)。(4)希爾排序?qū)儆贏)交換排序B)歸并排序C)選擇排序D)插入排序解析: 希爾排序的基本思想是把記錄按下標(biāo)的一定增量分組,對(duì)每組記錄使用插入排序,隨增量的逐漸 減小, 所分成的組包含的記錄越來(lái)越多, 到增量的值減小到 1 時(shí), 整個(gè)數(shù)據(jù)合成一組, 構(gòu)成一組有序記錄, 故其屬于插入排序方法。故本題答案應(yīng)該為選項(xiàng) D)。(1)棧和隊(duì)列的共同特點(diǎn)是A)都是先進(jìn)先出B)都是先進(jìn)后出C)只允許在端點(diǎn)處插入

30、和刪除元素D)沒(méi)有共同點(diǎn)解析:棧和隊(duì)列都是一種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧 只允許在表的一端進(jìn)行插入或刪除操作,是一種“后進(jìn)先出”的線性表;而隊(duì)列只允許在表的一端進(jìn)行插 入操作,在另一端進(jìn)行刪除操作,是一種“先進(jìn)先出”的線性表。故本題答案應(yīng)該為選項(xiàng) C)。(2)已知二叉樹(shù)后序遍歷序列是 dabec,中序遍歷序列是 debac,它的前序遍歷序列是 A) acbedB) decabC) deabcD) cedba解析: 依據(jù)后序遍歷序列可確定根結(jié)點(diǎn)為c;再依據(jù)中序遍歷序列可知其左子樹(shù)由 deba 構(gòu)成,右子樹(shù)為空; 又由左子樹(shù)的后序遍歷序列可知其根結(jié)點(diǎn)為e

31、,由中序遍歷序列可知其左子樹(shù)為 d,右子樹(shù)由ba 構(gòu)成, 如下圖所示。求得該二叉樹(shù)的前序遍歷序列為選項(xiàng) D)。11 / 90(3)鏈表不具有的特點(diǎn)是A)不必事先估計(jì)存儲(chǔ)空間B)可隨機(jī)訪問(wèn)任一元素C)插入刪除不需要移動(dòng)元素D)所需空間與線性表長(zhǎng)度成正比解析: 鏈表采用的是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),它克服了順序存儲(chǔ)結(jié)構(gòu)的缺點(diǎn):它的結(jié)點(diǎn)空間可以動(dòng)態(tài)申請(qǐng)和釋放; 它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來(lái)指示,不需要移動(dòng)數(shù)據(jù)元素。但是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)也有不足之處: 每個(gè)結(jié)點(diǎn)中的指針域需額外占用存儲(chǔ)空間; 鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)是一種非隨機(jī)存儲(chǔ)結(jié)構(gòu)。 故本題答案應(yīng)該 為選項(xiàng) D)。(6)算法的時(shí)間復(fù)雜度是指A)執(zhí)行算法程序所需要的時(shí)間

32、B)算法程序的長(zhǎng)度C)算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)D)算法程序中的指令條數(shù)解析: 算法的復(fù)雜度主要包括算法的時(shí)間復(fù)雜度和算法的空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度是指執(zhí)行 算法所需要的計(jì)算工作量; 算法的空間復(fù)雜度一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。 故本題答案應(yīng)該 為選項(xiàng)A)。(1)已知一棵二叉樹(shù)前序遍歷和中序遍歷分別為ABDEGCFH 和 DBGEACHF,則該二叉樹(shù)的后序遍歷為 A) GEDHFBCAB) DGEBHFCAC) ABCDEFGHD) ACBFEDHG解析: 利用前序和中序遍歷的方法可以確定二叉樹(shù)的結(jié)構(gòu),具體步驟如下: 前序遍歷的第一個(gè)結(jié)點(diǎn)A為樹(shù)的根結(jié)點(diǎn); 中序遍歷中A

33、 的左邊的結(jié)點(diǎn)為A 的左子樹(shù), A 右邊的結(jié)點(diǎn)為A 的右子樹(shù); 再分別對(duì) A 的左右子樹(shù)進(jìn)行上述兩步處理,直到每個(gè)結(jié)點(diǎn)都找到正確的位置。故本題答案應(yīng)該為選項(xiàng) B)。(2)樹(shù)是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是A)有且只有 1B) 1 或多于 112 / 90C) 0 或 1D)至少 2解析: 樹(shù)是一個(gè)或多個(gè)結(jié)點(diǎn)組成的有限集合,其中一個(gè)特定的結(jié)點(diǎn)稱為根,其余結(jié)點(diǎn)分為若干個(gè)不相交 的集合。每個(gè)集合同時(shí)又是一棵樹(shù)。樹(shù)有且只有 1 個(gè)根結(jié)點(diǎn)。故本題答案應(yīng)該為選項(xiàng) A)。(3)如果進(jìn)棧序列為 e1,e2,e3,e4,則可能的出棧序列是A) e3,e1,e4,e2B) e2,e4,e3,e1C) e3,e4,e

34、1,e2D)任意順序解析: 由棧后進(jìn)先出的特點(diǎn)可知: A)中 e1 不可能比 e2 先出, C)中 e3 不可能比 e4 先出,且e1 不可能比 e2 先出, D)中棧是先進(jìn)后出的,所以不可能是任意順序。 B)中出棧過(guò)程如圖所示:故本題答案應(yīng)該為選項(xiàng) B)。(4)在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是A)不限制 goto 語(yǔ)句的使用B)減少或取消注解行C)程序越短越好D)程序結(jié)構(gòu)應(yīng)有助于讀者理解解析:濫用 goto 語(yǔ)句將使程序流程無(wú)規(guī)律,可讀性差,因此 A)不選;注解行有利于對(duì)程序的理解,不 應(yīng)減少或取消, B)也不選;程序的長(zhǎng)短要依照實(shí)際情況而論,而不是越短越好, C)也不選。故本題答案 應(yīng)該為

35、選項(xiàng) D)。(5)程序設(shè)計(jì)語(yǔ)言的基本成分是數(shù)據(jù)成分、運(yùn)算成分、控制成分和A)對(duì)象成分B)變量成分C)語(yǔ)句成分D)傳輸成分解析: 程序設(shè)計(jì)語(yǔ)言是用于書(shū)寫(xiě)計(jì)算機(jī)程序的語(yǔ)言,其基本成分有以下 4 種,數(shù)據(jù)成分:用來(lái)描述程序 中的數(shù)據(jù)。運(yùn)算成分:描述程序中所需的運(yùn)算。控制成分:用來(lái)構(gòu)造程序的邏輯控制結(jié)構(gòu)。傳輸成分:定 義數(shù)據(jù)傳輸成分,如輸入輸出語(yǔ)言。故本題答案應(yīng)該為選項(xiàng) D)。(1)循環(huán)鏈表的主要優(yōu)點(diǎn)是13 / 90A)不再需要頭指針了B)從表中任一結(jié)點(diǎn)出發(fā)都能訪問(wèn)到整個(gè)鏈表C)在進(jìn)行插入、刪除運(yùn)算時(shí),能更好的保證鏈表不斷開(kāi)D)已知某個(gè)結(jié)點(diǎn)的位置后,能夠容易的找到它的直接前件解析: 循環(huán)鏈表就是將單向

36、鏈表中最后一個(gè)結(jié)點(diǎn)的指針指向頭結(jié)點(diǎn),使整個(gè)鏈表構(gòu)成一個(gè)環(huán)形,這樣的 結(jié)構(gòu)使得從表中的任一結(jié)點(diǎn)出發(fā)都能訪問(wèn)到整個(gè)鏈表。故本題答案應(yīng)該為選項(xiàng)B)。(2)棧底至棧頂依次存放元素 A、B、C、D,在第五個(gè)元素 E 入棧前,棧中元素可以出棧,則出棧序列可能是A) ABCEDB) DCBEAC) DBCEAD) CDABE解析: 棧操作原則上“后進(jìn)先出”,棧底至棧頂依次存放元素 A、B、C、D,則表明這 4 個(gè)元素中 D 是最 后進(jìn)棧, B、C 處于中間, A 最早進(jìn)棧。所以出棧時(shí)一定是先出 D,再出 C,最后出 A。故本題答案應(yīng)該為 選項(xiàng) B)。(3)對(duì)長(zhǎng)度為 N 的線性表進(jìn)行順序查找,在最壞情況下所需

37、要的比較次數(shù)為_(kāi)。A) N+1B) NC) (N+1)/2D) N/2解析: 答案B,很簡(jiǎn)單,我們的二級(jí)程序設(shè)計(jì)語(yǔ)言書(shū)中都有此算法,另外還要掌握二分法查找,這也是 我們二級(jí)中常考的。那么二分法最壞的情況為多少次呢? log2 n的最小整數(shù)值。比如 n 為 4,最壞的情況 要比較 3 次; n 為 18,最壞的情況要比較 5 次。(1)下列敘述中正確的是A)線性表是線性結(jié)構(gòu)B)棧與隊(duì)列是非線性結(jié)構(gòu)C)線性鏈表是非線性結(jié)構(gòu)D)二叉樹(shù)是線性結(jié)構(gòu)解析: 線性表是一種線性結(jié)構(gòu),數(shù)據(jù)元素在線性表中的位置只取決于它們自己的序號(hào),即數(shù)據(jù)元素之間 的相對(duì)位置是線性的;棧、隊(duì)列、線性鏈表實(shí)際上也是線性表,故也是線

38、性結(jié)構(gòu);樹(shù)是一種簡(jiǎn)單的非線性 結(jié)構(gòu)。故本題答案應(yīng)該為選項(xiàng) A)。(2)非空的循環(huán)單鏈表 head 的尾結(jié)點(diǎn)(由 p 所指向),滿足A) p-next=NULLB) p=NULL14 / 90C) p-next=headD) p=head解析: 循環(huán)鏈表就是將鏈表的最后一個(gè)結(jié)點(diǎn)指向鏈表頭結(jié)點(diǎn)(或第一個(gè)結(jié)點(diǎn)),即 p-next=head。故本 題答案應(yīng)該為選項(xiàng)C)。(3)已知數(shù)據(jù)表 A 中每個(gè)元素距其最終位置不遠(yuǎn),為節(jié)省時(shí)間,應(yīng)采用的算法是A)堆排序B)直接插入排序C)快速排序D)直接選擇排序解析: 當(dāng)數(shù)據(jù)表 A 中每個(gè)元素距其最終位置不遠(yuǎn),說(shuō)明數(shù)據(jù)表A 按關(guān)鍵字值基本有序,在待排序序列基本有序的

39、情況下,采用插入排序所用時(shí)間最少,故答案為選項(xiàng) B)。(1)假設(shè)線性表的長(zhǎng)度為 n,則在最壞情況下,冒泡排序需要的比較次數(shù)為A) log2nB) n2C) O(n1.5)D) n(n-1) /2解析: 假設(shè)線性表的長(zhǎng)度為 n,則在最壞情況下,冒泡排序要經(jīng)過(guò) n/2 遍的從前往后的掃描和 n/2 遍的 從后往前的掃描,需要的比較次數(shù)為n(n-1) /2。故本題答案應(yīng)該為選項(xiàng) D)。(2)算法分析的目的是A)找出數(shù)據(jù)結(jié)構(gòu)的合理性B)找出算法中輸入和輸出之間的關(guān)系C)分析算法的易懂性和可靠性D)分析算法的效率以求改進(jìn)解析: 算法分析是指對(duì)一個(gè)算法的運(yùn)行時(shí)間和占用空間做定量的分析,一般計(jì)算出相應(yīng)的數(shù)量

40、級(jí),常用 時(shí)間復(fù)雜度和空間復(fù)雜度表示。 分析算法的目的就是要降低算法的時(shí)間復(fù)雜度和空間復(fù)雜度, 提高算法的 執(zhí)行效率。故本題答案應(yīng)該為選項(xiàng) D)。(3)線性表 L=(a1,a2,a3,ai,an),下列說(shuō)法正確的是A)每個(gè)元素都有一個(gè)直接前件和直接后件B)線性表中至少要有一個(gè)元素C)表中諸元素的排列順序必須是由小到大或由大到小D)除第一個(gè)元素和最后一個(gè)元素外,其余每個(gè)元素都有一個(gè)且只有一個(gè)直接前件和直接后件解析: 線性表可以為空表;第一個(gè)元素沒(méi)有直接前件,最后一個(gè)元素沒(méi)有直接后件;線性表的定義中, 元素的排列并沒(méi)有規(guī)定大小順序。故本題答案應(yīng)該為選項(xiàng) D)。15 / 90(4)在單鏈表中,增加頭

41、結(jié)點(diǎn)的目的是A)方便運(yùn)算的實(shí)現(xiàn)B)使單鏈表至少有一個(gè)結(jié)點(diǎn)C)標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置D)說(shuō)明單鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)解析: 頭結(jié)點(diǎn)不僅標(biāo)識(shí)了表中首結(jié)點(diǎn)的位置,而且根據(jù)單鏈表(包含頭結(jié)點(diǎn))的結(jié)構(gòu),只要掌握了表頭, 就能夠訪問(wèn)整個(gè)鏈表,因此增加頭結(jié)點(diǎn)目的是為了便于運(yùn)算的實(shí)現(xiàn)。故本題答案應(yīng)該為選項(xiàng)A)。(1)算法的空間復(fù)雜度是指A)算法程序的長(zhǎng)度B)算法程序中的指令條數(shù)C)算法程序所占的存儲(chǔ)空間D)執(zhí)行過(guò)程中所需要的存儲(chǔ)空間解析: 算法的復(fù)雜度主要包括算法的時(shí)間復(fù)雜度和算法的空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度是指執(zhí)行 算法所需要的計(jì)算工作量; 算法的空間復(fù)雜度一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。

42、 故本題答案應(yīng)該 為選項(xiàng) D)。(2)用鏈表表示線性表的優(yōu)點(diǎn)是A)便于隨機(jī)存取B)花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少C)便于插入和刪除操作D)數(shù)據(jù)元素的物理順序與邏輯順序相同解析: 鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)克服了順序存儲(chǔ)結(jié)構(gòu)的缺點(diǎn):它的結(jié)點(diǎn)空間可以動(dòng)態(tài)申請(qǐng)和釋放;它的數(shù)據(jù)元素的 邏輯次序靠結(jié)點(diǎn)的指針來(lái)指示,不需要移動(dòng)數(shù)據(jù)元素。故鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)下的線性表便于插入和刪除操作。 故本題答案應(yīng)該為選項(xiàng)C)。(3)數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無(wú)關(guān)的是數(shù)據(jù)的A)存儲(chǔ)結(jié)構(gòu)B)物理結(jié)構(gòu)C)邏輯結(jié)構(gòu)D)物理和存儲(chǔ)結(jié)構(gòu)解析: 數(shù)據(jù)結(jié)構(gòu)概念一般包括 3 個(gè)方面的內(nèi)容,數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)及數(shù)據(jù)上的運(yùn)算集合。數(shù)據(jù) 的邏輯結(jié)構(gòu)只抽象的反

43、映數(shù)據(jù)元素之間的邏輯關(guān)系, 而不管它在計(jì)算機(jī)中的存儲(chǔ)表示形式。 故本題答案應(yīng) 該為選項(xiàng)C)。(1)由兩個(gè)棧共享一個(gè)存儲(chǔ)空間的好處是A)減少存取時(shí)間,降低下溢發(fā)生的機(jī)率B)節(jié)省存儲(chǔ)空間,降低上溢發(fā)生的機(jī)率16 / 90C)減少存取時(shí)間,降低上溢發(fā)生的機(jī)率D)節(jié)省存儲(chǔ)空間,降低下溢發(fā)生的機(jī)率解析: 常常一個(gè)程序中要用到多個(gè)棧,為了不發(fā)生上溢錯(cuò)誤,就必須給每個(gè)棧分配一個(gè)足夠大的存儲(chǔ)空 間。但實(shí)際中,很難準(zhǔn)確地估計(jì),若每個(gè)棧都分配過(guò)大的存儲(chǔ)空間,勢(shì)必造成系統(tǒng)空間緊張;若讓多個(gè)棧 共用一個(gè)足夠大的連續(xù)存儲(chǔ)空間, 則可利用棧的動(dòng)態(tài)特性使他們的存儲(chǔ)空間互補(bǔ)。 故本題答案應(yīng)該為選項(xiàng) B)。(2)設(shè)有兩個(gè)串 p

44、 和 q,求 q 在p 中首次出現(xiàn)位置的運(yùn)算稱作A)連接B)模式匹配C)求子串D)求串長(zhǎng)解析: B 子串的定位操作通常稱作串的模式匹配,是各種串處理系統(tǒng)中最重要的操作之一,算法的基本思 想是:從主串的開(kāi)始字符起和模式的第一個(gè)字符比較,若相等則繼續(xù)比較后續(xù)字符,否則從主串的下一個(gè) 字符起再重新和模式的字符比較, 依次類推, 直至模式中的每一個(gè)字符依次和主串中的一個(gè)連續(xù)的字符序 列相等,稱匹配成功,否則稱匹配不成功。(3)下列關(guān)于隊(duì)列的敘述中正確的是_。A. 在隊(duì)列中只能插入數(shù)據(jù)B. 在隊(duì)列中只能刪除數(shù)據(jù)C. 隊(duì)列是先進(jìn)先出的線性表D. 隊(duì)列是先進(jìn)后出的線性表解析: C隊(duì)列是先進(jìn)先出的,棧是先進(jìn)后

45、出的, 2 者的區(qū)別一定要搞清楚。(1)算法的空間復(fù)雜度是指A)算法程序的長(zhǎng)度B)算法程序中的指令條數(shù)C)執(zhí)行算法程序所占的存儲(chǔ)空間D)算法執(zhí)行過(guò)程中所需要的存儲(chǔ)空間【答案】 D【解析】算法的空間復(fù)雜度一般是指這個(gè)算法執(zhí)行時(shí)所需要的內(nèi)存空間,其中包括算法程序所占的空間、 輸入的初始數(shù)據(jù)所占的存儲(chǔ)空間以及算法執(zhí)行過(guò)程中所需要的額外空間, 其中額外空間還包括算法程序執(zhí) 行過(guò)程的工作單元以及某種數(shù)據(jù)結(jié)構(gòu)所需要的附加存儲(chǔ)空間。(2)線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)是一種A)隨機(jī)結(jié)構(gòu)B)順序結(jié)構(gòu)17 / 90C)索引結(jié)構(gòu)D)散列結(jié)構(gòu)【答案】 B【解析】線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的每一個(gè)存儲(chǔ)結(jié)點(diǎn)不僅含有一個(gè)數(shù)據(jù)元素,還包

46、括指針,每一個(gè)指針指 向一個(gè)與本結(jié)點(diǎn)有邏輯關(guān)系的結(jié)點(diǎn)。此類存儲(chǔ)方式屬于順序存儲(chǔ)。(3)設(shè)有下列二叉樹(shù):對(duì)此二叉樹(shù)先序遍歷的結(jié)果是A)ABCDEFB)DBEAFCC)ABDECFD)DEBFCA【答案】 C【解析】二叉樹(shù)的遍歷分為先序、中序、后序三種不同方式。本題要求先序遍歷;遍歷順序應(yīng)該為:訪問(wèn) 根結(jié)點(diǎn)-先序遍歷左子樹(shù)-先序遍歷右子樹(shù)。按照定義,先序遍歷序列是 ABDECF。(1)算法分析的目的是_。A)找出數(shù)據(jù)結(jié)構(gòu)的合理性 B)找出算法中輸入和輸出之間的關(guān)系C)分析算法的易懂性和可靠性 D)分析算法的效率以求改進(jìn)答案: D評(píng)析:算法分析是指對(duì)一個(gè)算法的運(yùn)行時(shí)間和占用空間做定量的分析,一般計(jì)算

47、出相應(yīng)的數(shù)量級(jí),常用時(shí) 間復(fù)雜度和空間復(fù)雜度表示。 分析算法的目的就是要降低算法的時(shí)間復(fù)雜度和空間復(fù)雜度, 提高算法的執(zhí) 行效率。(3)已知數(shù)據(jù)表 A 中每個(gè)元素距其最終位置不遠(yuǎn),為節(jié)省時(shí)間,應(yīng)采用的算法是_。A)堆排序 B)直接插入排序C)快速排序 D)直接選擇排序答案: B評(píng)析:當(dāng)數(shù)據(jù)表A 中每個(gè)元素距其最終位置不遠(yuǎn),說(shuō)明數(shù)據(jù)表A 按關(guān)鍵字值基本有序,在待排序序列基本 有序的情況下,采用插入排序所用時(shí)間最少,故答案為選項(xiàng) B。(4)用鏈表表示線性表的優(yōu)點(diǎn)是_。A)便于插入和刪除操作 B)數(shù)據(jù)元素的物理順序與邏輯順序相同C)花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少 D)便于隨機(jī)存取答案: A評(píng)析:鏈?zhǔn)酱鎯?chǔ)

48、結(jié)構(gòu)克服了順序存儲(chǔ)結(jié)構(gòu)的缺點(diǎn):它的結(jié)點(diǎn)空間可以動(dòng)態(tài)申請(qǐng)和釋放;它的數(shù)據(jù)元素的邏 輯次序靠結(jié)點(diǎn)的指針來(lái)指示,不需要移動(dòng)數(shù)據(jù)元素。故鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)下的線性表便于插入和刪除操作。1. 以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是_。18 / 90A、隊(duì)列 B、線性表 C、二叉樹(shù) D、棧解析:線性表、 棧和隊(duì)列等數(shù)據(jù)結(jié)構(gòu)所表達(dá)和處理的數(shù)據(jù)以線性結(jié)構(gòu)為組織形式。 棧是一種特殊的線性表, 這種線性表只能在固定的一端進(jìn)行插入和刪除操作,允許插入和刪除的一端稱為棧頂,另一端稱為棧底。 一個(gè)新元素只能從棧頂一端進(jìn)入,刪除時(shí),只能刪除棧頂?shù)脑兀磩倓偙徊迦氲脑亍K詶S址Q后進(jìn) 先出表(Last In First Out

49、);隊(duì)列可看作是插入在一端進(jìn)行,刪除在另一端進(jìn)行的線性表,允許插入 的一端稱為隊(duì)尾,允許刪除的一端稱為隊(duì)頭。在隊(duì)列中,只能刪除隊(duì)頭元素,隊(duì)列的最后一個(gè)元素一定是 最新入隊(duì)的元素。因此隊(duì)列又稱先進(jìn)先出表(First In First Out)。本題答案為C。5. 下列關(guān)于棧的敘述中正確的是_。 A、在棧中只能插入數(shù)據(jù)B、在棧中只能刪除數(shù)據(jù)C、棧是先進(jìn)先出的線性表D、棧是先進(jìn)后出的線性表解析:棧是限定在一端進(jìn)行插入與刪除的線性表。棧是按照先進(jìn)后出的或后進(jìn)先出的原則組織數(shù)據(jù)的, 因此, 棧也被稱為先進(jìn)后出表或后進(jìn)先出 表。本題答案是 D。7. 對(duì)長(zhǎng)度為 N 的線性表進(jìn)行順序查找,在最壞情況下所需要的

50、比較次數(shù)為_(kāi)。 A、N+1B、NC、 (N+1)/2D、N/2解析:在進(jìn)行順序查找過(guò)程中,如果線性表中被查的元素是線性表中的最后一個(gè),或者被查元素根本不在 線性表中,則為了查找這個(gè)元素需要與線性表中所有元素進(jìn)行比較,這是順序查找最壞的情況。本題答案為 B。1. 在一棵二叉樹(shù)上第 5 層的結(jié)點(diǎn)數(shù)最多是_。A、8B、16C、32D、15解析:根據(jù)二叉樹(shù)的性質(zhì):二叉樹(shù)第 i(i1)層上至多有 2i-1 個(gè)結(jié)點(diǎn)。得到第 5 層的結(jié)點(diǎn)數(shù)最多是 16。 本題答案為 B。3. 下列敘述中正確的是_。A、線性表是線性結(jié)構(gòu)B、棧與隊(duì)列是非線性結(jié)構(gòu)C、線性鏈表是非線性結(jié)構(gòu)D、二叉樹(shù)是線性結(jié)構(gòu)19 / 90解析:根

51、據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后間關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu) 與非線性結(jié)構(gòu)。如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個(gè)條件:(1)有且只有一個(gè)根結(jié)點(diǎn);(2)每一個(gè)結(jié)點(diǎn)最多有一 個(gè)前件,也最多有一個(gè)后件。則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),又稱線性表。所以線性表、棧與隊(duì)列、線性鏈表都是線性結(jié)構(gòu),而二叉樹(shù)是非線性結(jié)構(gòu)。本題答案是A。7. 在下列選項(xiàng)中,哪個(gè)不是一個(gè)算法一般應(yīng)該具有的基本特征_。A、確定性B、可行性C、無(wú)窮性D、擁有足夠的情報(bào)解析:作為一個(gè)算法,一般應(yīng)具有以下幾個(gè)基本特征。1)可行性2)確定性3)有窮性4)擁有足夠的情報(bào)本題答案為C。5. 在計(jì)算機(jī)中,算法是指_。A、查詢方法B

52、、加工方法C、解題方案的準(zhǔn)確而完整的描述D、排序方法解析:計(jì)算機(jī)算法是指解題方案的準(zhǔn)確而完整的描述,它有以下幾個(gè)基本特征:可行性、確定性、有窮性 和擁有足夠的情報(bào)。本題答案為C。7. 在單鏈表中,增加頭結(jié)點(diǎn)的目的是_。A、方便運(yùn)算的實(shí)現(xiàn)B、使單鏈表至少有一個(gè)結(jié)點(diǎn)C、標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置D、說(shuō)明單鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)解析:頭結(jié)點(diǎn)不僅標(biāo)識(shí)了表中首結(jié)點(diǎn)的位置,而且根據(jù)單鏈表(包含頭結(jié)點(diǎn))的結(jié)構(gòu),只要掌握了表頭, 就能夠訪問(wèn)整個(gè)鏈表,因此增加頭結(jié)點(diǎn)目的是為了便于運(yùn)算的實(shí)現(xiàn)。本題答案為A。1. 數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指_。A、存儲(chǔ)在外存中的數(shù)據(jù)B、數(shù)據(jù)所占的存儲(chǔ)空間量C、數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式

53、D、數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示解析:本題考查的是數(shù)據(jù)結(jié)構(gòu)的基本概念。數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。 故本題答案為 D。2. 下列關(guān)于棧的描述中錯(cuò)誤的是_。A、棧是先進(jìn)后出的線性表B、棧只能順序存儲(chǔ)C、棧具有記憶作用D、對(duì)棧的插入與刪除操作中,不需要改變棧底指針解析:本題考查的是棧和隊(duì)列。棧是一種特殊的線性表, 這種線性表只能在固定的一端進(jìn)行插入和刪除操作, 允許插入和刪除的一端 稱為棧頂,另一端稱為棧底。一個(gè)新元素只能從棧頂一端進(jìn)入,刪除時(shí),只能刪除棧頂?shù)脑兀磩倓偙?插入的元素。所以棧又稱先進(jìn)后出表(FILO-First In

54、Last Out)。線性表可以順序存儲(chǔ),也可以鏈?zhǔn)酱?儲(chǔ),而棧是一種線性表,也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。故本題答案為 B。3. 對(duì)于長(zhǎng)度為n 的線性表,在最壞情況下,下列各排序法所對(duì)應(yīng)的比較次數(shù)中正確的是_。A、冒泡排序?yàn)?n/2B、冒泡排序?yàn)?nC、快速排序?yàn)?nD、快速排序?yàn)?n(n-1)/2解析:本題考查的是基本排序算法。假設(shè)線性表的長(zhǎng)度為n,則在最壞情況下,冒泡排序需要經(jīng)過(guò) n/2 遍的從前往后掃描和n/2 遍的從后 往前掃描,需要比較次數(shù)為n(n-1)/2。快速排序法的最壞情況比較次數(shù)也是 n(n-1)/2。故本題答案為 D。4. 對(duì)長(zhǎng)度為n 的線性表進(jìn)行順序查找,在最壞情況下所需要的比

55、較次數(shù)為_(kāi)。A、log2nB、n/2C、nD、n+1解析:本題考查的是順序查找。在進(jìn)行順序查找過(guò)程中, 如果線性表中的第一個(gè)元素就是被查找元素, 則只需做一次比較就查找成功, 查找效率最高; 但如果被查找的元素是線性表中的最后一個(gè)元素, 或者被查找的元素根本就不在線性表中, 則為了查找這個(gè)元素需要與線性表中所有的元素進(jìn)行比較, 這是順序查找的最壞情況。 所以對(duì)長(zhǎng)度為n 的線性表進(jìn)行順序查找,在最壞情況下需要比較 n 次。故本題答案為C。5. 下列對(duì)于線性鏈表的描述中正確的是_。A、存儲(chǔ)空間不一定是連續(xù),且各元素的存儲(chǔ)順序是任意的20 / 9021 / 90B、存儲(chǔ)空間不一定是連續(xù),且前件元素一

56、定存儲(chǔ)在后件元素的前面C、存儲(chǔ)空間必須連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面D、存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的解析:本題考查的是線性單鏈表、雙向鏈表與循環(huán)鏈表的結(jié)構(gòu)及其基本運(yùn)算。在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中, 存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)空間可以不連續(xù), 各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與數(shù)據(jù)元素之間的 邏輯關(guān)系可以不一致,而數(shù)據(jù)元素之間的邏輯關(guān)系是由指針域來(lái)確定的。故本題答案為A。1. 算法的時(shí)間復(fù)雜度是指_。A、執(zhí)行算法程序所需要的時(shí)間B、算法程序的長(zhǎng)度C、算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)D、算法程序中的指令條數(shù)解析:所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。為了能夠比較客觀地反映出一個(gè)算法的

57、效率, 在度量一個(gè)算法的工作量時(shí), 不僅應(yīng)該與所使用的計(jì)算 機(jī)、程序設(shè)計(jì)語(yǔ)言以及程序編制者無(wú)關(guān),而且還應(yīng)該與算法實(shí)現(xiàn)過(guò)程中的許多細(xì)節(jié)無(wú)關(guān)。為此,可以用算 法在執(zhí)行過(guò)程中所需基本運(yùn)算的執(zhí)行次數(shù)來(lái)度量算法的工作量。本題答案是C。2. 下列敘述中正確的是_。A、線性表是線性結(jié)構(gòu)B、棧與隊(duì)列是非線性結(jié)構(gòu)C、線性鏈表是非線性結(jié)構(gòu)D、二叉樹(shù)是線性結(jié)構(gòu)解析:根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后間關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu) 與非線性結(jié)構(gòu)。如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個(gè)條件:(1)有且只有一個(gè)根結(jié)點(diǎn);(2)每一個(gè)結(jié)點(diǎn)最多有一 個(gè)前件,也最多有一個(gè)后件。則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),又稱線性

58、表。所以線性表、棧與隊(duì)列、線性鏈表都是線性結(jié)構(gòu),而二叉樹(shù)是非線性結(jié)構(gòu)。本題答案是A。3. 設(shè)一棵完全二叉樹(shù)共有 699 個(gè)結(jié)點(diǎn),則在該二叉樹(shù)中的葉子結(jié)點(diǎn)數(shù)為_(kāi)。A、349B、350C、255D、351解析:所謂完全二叉樹(shù)是指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值;在最后一層上只缺少右邊的 若干結(jié)點(diǎn)。具有 n 個(gè)結(jié)點(diǎn)的完全二叉樹(shù),其父結(jié)點(diǎn)數(shù)為 int(n/2),而葉子結(jié)點(diǎn)數(shù)等于總結(jié)點(diǎn)數(shù)減去父結(jié)點(diǎn)數(shù)。 本題 n=699,故父結(jié)點(diǎn)數(shù)等于 int(699/2)=349,葉子結(jié)點(diǎn)數(shù)等于 699-349=350。22 / 90本題答案是 B。1. 算法的空間復(fù)雜度是指_。A、算法程序的長(zhǎng)度B、算法程序

59、中的指令條數(shù)C、算法程序所占的存儲(chǔ)空間D、算法執(zhí)行過(guò)程中所需要的存儲(chǔ)空間解析:一個(gè)算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需的內(nèi)存空間。一個(gè)算法所占用的存儲(chǔ)空間包括算法程序所占的空間、 輸入的初始數(shù)據(jù)所占的存儲(chǔ)空間以及算法執(zhí)行 過(guò)程中所需要的額外空間。本題答案是 D。2. 下列關(guān)于棧的敘述中正確的是_。A、在棧中只能插入數(shù)據(jù)B、在棧中只能刪除數(shù)據(jù)C、棧是先進(jìn)先出的線性表D、棧是先進(jìn)后出的線性表解析:棧是限定在一端進(jìn)行插入與刪除的線性表。棧是按照先進(jìn)后出的或后進(jìn)先出的原則組織數(shù)據(jù)的, 因此, 棧也被稱為先進(jìn)后出表或后進(jìn)先出 表。本題答案是 D。3. 在深度為5 的滿二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為_(kāi)。

60、A、32B、31C、16D、15解析:所謂滿二叉樹(shù)是指這樣的一種二叉樹(shù):除最后一層外,每層上的所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)。這就是 說(shuō),在滿二叉樹(shù)中,每一層上的結(jié)點(diǎn)數(shù)都達(dá)到最大值,即在滿二叉樹(shù)的第 K 層上有 2K-1 個(gè)結(jié)點(diǎn),且深度為 m 的滿二叉樹(shù)有 2m 個(gè)結(jié)點(diǎn)。在滿二叉樹(shù)中,最后一層的結(jié)點(diǎn)個(gè)數(shù)就是葉子結(jié)點(diǎn)的個(gè)數(shù),本題中深度為 5,故葉子結(jié)點(diǎn)數(shù)為25-1=24=16。本題答案是C。1. 算法一般都可以用哪幾種控制結(jié)構(gòu)組合而成_。A、循環(huán)、分支、遞歸B、順序、循環(huán)、嵌套C、循環(huán)、遞歸、選擇D、順序、選擇、循環(huán)解析:算法的控制結(jié)構(gòu)給出了算法的基本框架,它不僅決定了算法中各操作的執(zhí)行順序,而且也直接

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論