計(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è),還剩105頁(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)介

全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)公共基礎(chǔ)學(xué)問(wèn)考題庫(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)算都只在線性表的一端進(jìn)行。由此可見(jiàn),選項(xiàng)A、選項(xiàng)B和選項(xiàng)D錯(cuò)誤,正確答案是選項(xiàng)

Co

(3)下列敘述中正確的是

A)一個(gè)規(guī)律數(shù)據(jù)結(jié)構(gòu)只能有一種存儲(chǔ)結(jié)構(gòu)

B)數(shù)據(jù)的規(guī)律結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)屬于非線性結(jié)構(gòu)

C)一個(gè)規(guī)律數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)不影響數(shù)據(jù)處理的效率

D)一個(gè)規(guī)律數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)影響數(shù)據(jù)處理的效率

【答案】D

【解析】一般來(lái)說(shuō),一種數(shù)據(jù)的規(guī)律結(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ǔ)空間稱為算法的

A)時(shí)間簡(jiǎn)單度B)計(jì)算工作量C)空間簡(jiǎn)單度D)工作空間

【答案】c

【解析】算法執(zhí)行時(shí)所需要的存儲(chǔ)空間,包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲(chǔ)空間以及算法執(zhí)行過(guò)程中所需要的額外

空間,其中額外空間還包括算法程序執(zhí)行過(guò)程的工作單元以及某種數(shù)據(jù)結(jié)構(gòu)所需要的附加存儲(chǔ)空間。這些存儲(chǔ)空間共稱為算法的空后

(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ì)列是先進(jìn)先出的線性表。

⑹設(shè)有下列二叉樹:

O

/\

?。

\/\

??O

對(duì)此二叉樹后序遍歷的結(jié)果為

A)ABCDEFB)BDAECFC)ABDCEFD)DBEFCA

【答案】D

【解析】二叉樹的遍歷分為先序、中序、后序三種不同方式。本題要求后序遍歷。其遍歷挨次應(yīng)為:后序遍歷左子樹一〉后序遍歷右子樹一〉

訪問(wèn)根結(jié)點(diǎn)。依據(jù)定義,后序遍歷序列是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)行速度和程序占用的存儲(chǔ)空間。影響程序效率的因素是多方面的,包括程序的設(shè)計(jì)、使用

的算法、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)等。在確定數(shù)據(jù)規(guī)律結(jié)構(gòu)的基礎(chǔ)上,選擇一種合適的存儲(chǔ)結(jié)構(gòu),可以使得數(shù)據(jù)操作所花費(fèi)的時(shí)間少,占用的存儲(chǔ)空

間少,即提高程序的效率。因此,本題選項(xiàng)A的說(shuō)法是正確的。

(8)下列敘述中正確的是()

A)數(shù)據(jù)的規(guī)律結(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)

。程序設(shè)計(jì)語(yǔ)言中的數(shù)組一般是挨次存儲(chǔ)結(jié)構(gòu),因此,采用數(shù)組只能處理線線結(jié)構(gòu)

D)以上三種說(shuō)法都不對(duì)

【答案】D

【解析1本題考查數(shù)據(jù)結(jié)構(gòu)的基本學(xué)問(wèn)。

數(shù)據(jù)之間的相互關(guān)系稱為規(guī)律結(jié)構(gòu)。通常分為四類基本規(guī)律結(jié)構(gòu),即集合、線性結(jié)構(gòu)、樹型結(jié)構(gòu)、圖狀結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu)。存儲(chǔ)結(jié)構(gòu)是規(guī)律結(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),規(guī)律結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)不是一一對(duì)應(yīng)的。因此,選項(xiàng)A和選項(xiàng)B的說(shuō)法都是錯(cuò)誤的。

無(wú)論數(shù)據(jù)的規(guī)律結(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ù)

的地址空間,可看作是挨次存儲(chǔ)結(jié)構(gòu)??梢杂脭?shù)組來(lái)實(shí)現(xiàn)樹型規(guī)律結(jié)構(gòu)的存儲(chǔ),比如二叉樹。因此,選項(xiàng)c的說(shuō)法是錯(cuò)誤的

(9)冒泡排序在最壞狀況下的比較次數(shù)是()

A)n(n+l)/2B)nbg2nC)n(n-l)/2D)n/2

【答案】C

【解析】冒泡排序的基本思想是:將相鄰的兩個(gè)元素進(jìn)行比較,假如反序,則交換;對(duì)于一個(gè)待排序的序列,經(jīng)一趟排序后,最大值的元素

移動(dòng)到最終的位置,其他值較大的元素也向最終位置移動(dòng),此過(guò)程稱為一趟冒泡。對(duì)于有n個(gè)數(shù)據(jù)的序列,共需n-1趟排序,第i趟對(duì)從1到

n-i個(gè)數(shù)據(jù)進(jìn)行比較、交換。冒泡排序的最壞狀況是待排序序列逆序,第1趟比較nJ次,第2趟比較n-2次。依此類推,最終趟比較1次,一

共進(jìn)行n-1趟排序。因此,冒泡排序在最壞狀況下的比較次數(shù)是(n-l)+(n-2)+…+1,結(jié)果為n(n-1)/2。本題的正確答案是選項(xiàng)c。

(10)一棵二叉樹中共有70個(gè)葉子結(jié)點(diǎn)與80個(gè)度為1的結(jié)點(diǎn),則該二叉樹中的總結(jié)點(diǎn)數(shù)為()

A)219B)221C)229D)231

【答案】A

【解析】本題考查數(shù)據(jù)結(jié)構(gòu)中二叉樹的性質(zhì)。二叉樹滿意如下一條性質(zhì),即:對(duì)任意一棵二叉樹,若終端結(jié)點(diǎn)(即葉子結(jié)點(diǎn))數(shù)為口“而其度數(shù)

為2的結(jié)點(diǎn)數(shù)為出,則no=n2+l0

依據(jù)這條性質(zhì)可知,若二叉樹中有70個(gè)葉子結(jié)點(diǎn),則其度為2的結(jié)點(diǎn)教為7()-1,即69個(gè)。二叉樹的總結(jié)點(diǎn)數(shù)是度為2、度為1和葉子結(jié)點(diǎn)的

總和,因此,題目中的二叉樹總結(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í)間簡(jiǎn)單度是指執(zhí)行算法所需要的計(jì)算工作量

C)數(shù)據(jù)的規(guī)律結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)是一一對(duì)應(yīng)的

D)算法的時(shí)間簡(jiǎn)單度與空間簡(jiǎn)單度肯定相關(guān)

【答案】B

【解析】本題考查數(shù)據(jù)結(jié)構(gòu)中有關(guān)算法的息本學(xué)問(wèn)和概念。數(shù)據(jù)的結(jié)構(gòu),直接影響算法的選擇和效率。而數(shù)據(jù)結(jié)構(gòu)包括兩方面,即數(shù)據(jù)的規(guī)

律結(jié)構(gòu)和數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)。因此,數(shù)據(jù)的規(guī)律結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)都影響算法的效率。選項(xiàng)A的說(shuō)法是錯(cuò)誤的。算法的時(shí)間簡(jiǎn)單度是指算法在計(jì)

算機(jī)內(nèi)執(zhí)行時(shí)所需時(shí)間的度量;與時(shí)間簡(jiǎn)單度類似,空間簡(jiǎn)單度是指算法在計(jì)算機(jī)內(nèi)執(zhí)行時(shí)所需存儲(chǔ)空間的度量。因此,選項(xiàng)B的說(shuō)法是正

確的。

數(shù)據(jù)之間的相互關(guān)系稱為規(guī)律結(jié)構(gòu)。通常分為四類基本規(guī)律結(jié)構(gòu),即集合、線性結(jié)構(gòu)、樹型結(jié)構(gòu)、圖狀結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu)。存儲(chǔ)結(jié)構(gòu)是規(guī)律結(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),規(guī)律結(jié)

構(gòu)和存儲(chǔ)結(jié)構(gòu)不是一一對(duì)應(yīng)的。因此,選項(xiàng)c的說(shuō)法是錯(cuò)誤的。有時(shí)人們?yōu)榱颂岣咚惴ǖ臅r(shí)間簡(jiǎn)單度,而以犧牲空間簡(jiǎn)單度為代價(jià)。但是,

這兩者之間沒(méi)有必定的聯(lián)系。因此,選項(xiàng)D的說(shuō)法是錯(cuò)誤的。

(12)下列關(guān)于算法的時(shí)間簡(jiǎn)單度陳述正確的是

A)算法的時(shí)間簡(jiǎn)單度是指執(zhí)行算法程序所需要的時(shí)間

B)算法的時(shí)間簡(jiǎn)單度是指算法程序的長(zhǎng)度

C)算法的時(shí)間簡(jiǎn)單度是指算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)

D)算法的時(shí)間簡(jiǎn)單度是指算法程序中的指令條數(shù)

【答案】C

【解析】算法的時(shí)間簡(jiǎn)單度是指執(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ì)棧可進(jìn)行插入和刪除數(shù)據(jù)的操作,但必需牢記插入和刪除數(shù)據(jù)都只能是在棧頂,是一種特殊的線性表。所以棧是先進(jìn)后出的線性

表O

(14)設(shè)有下列二叉樹:

對(duì)此二叉樹中序遍歷的結(jié)果為

A)ABCDEFB)DAECFC)BDAECFD)DBEFCA

【答案】C

【解析】二叉樹的遍歷分為先序、中序、后序三種不同方式。本題要求中序遍歷,其遍歷挨次應(yīng)為:中序遍歷左子樹->訪問(wèn)根結(jié)點(diǎn)->中序遍

歷右子樹。依據(jù)定義,中序遍歷序列是BDAECF,故答案為B。

(15)依據(jù)“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是

A)隊(duì)列B)棧

C)雙向鏈,表D)二叉樹

【答案】B

【解析1"后進(jìn)先出"表示最終被插入的元素敢先能被刪除。選項(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ǔ)方式.二叉樹也通常接受鏈?zhǔn)酱鎯?chǔ)方式,它們的存儲(chǔ)數(shù)據(jù)的空間可以是不連續(xù)的,各個(gè)數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)挨次

與數(shù)據(jù)元素之間的規(guī)律關(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)的二叉樹是線性結(jié)構(gòu)

【答案】A

【解析1一個(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)的規(guī)律結(jié)構(gòu)也是線性結(jié)構(gòu),而不是非線性結(jié)構(gòu),選項(xiàng)c的說(shuō)法是錯(cuò)誤的;二叉樹是非線性結(jié)

構(gòu),而不是線性結(jié)構(gòu),選項(xiàng)D的說(shuō)法是錯(cuò)誤的。因此,本題的正確答案為A

(17)對(duì)如下二叉樹

進(jìn)行后序遍歷的結(jié)果為

A)ABCDEFB)DBEAFC

C)ABDECFD)DEBFCA

【答案】D

【解析】二叉樹后序遍歷的簡(jiǎn)潔描述如下:若二叉樹為空,則結(jié)束返回。否則(1)后序遍歷左子樹;(2)后序遍歷右子樹;⑶訪問(wèn)根結(jié)點(diǎn)。也就

是說(shuō),后序遍歷是指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后遍歷右子樹,最終訪問(wèn)根結(jié)點(diǎn),并且,在遍

歷左、右子樹時(shí),仍舊先遍歷左子樹,然后遍歷右子樹,最終訪問(wèn)根結(jié)點(diǎn)。依據(jù)后序遍歷的算法,后序遍歷的結(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ì)列的基本學(xué)問(wèn)。隊(duì)列是一種限定性的線性表,它只允許在表的一端插入元素,而在另一端刪除元素,所以隊(duì)

列具有先進(jìn)先出的特性。在隊(duì)列中,允許插入元素的一端叫做隊(duì)尾,允許刪除的一端則稱為隊(duì)頭。這與日常生活中的排隊(duì)是全都的,最早進(jìn)

入隊(duì)列的人最早離開,新來(lái)的人總是加入到隊(duì)尾。因此,本題中只有選項(xiàng)D的說(shuō)法是正確的。

(19)對(duì)下列二叉樹進(jìn)行前序遍歷的結(jié)果為()

A)DYBEAFCZXB)YDEBFZXCAC)ABDYECFXZD)ABCDEFXYZ

【答案】C

I解析】本題考查數(shù)據(jù)結(jié)構(gòu)中二叉樹的遍歷。依據(jù)對(duì)二叉樹根的訪問(wèn)先后挨次不同,分別稱為前序遍歷、中序遍歷和后序遍歷。這三種遍歷

都是遞歸定義的,即在其子樹中也依據(jù)同樣的規(guī)律進(jìn)行遍歷。下面就是前序遍歷方法的遞歸定義。當(dāng)二叉樹的根不為空時(shí),依次執(zhí)行如下3

個(gè)操作:

⑴訪問(wèn)根結(jié)點(diǎn)

⑵按先序遍歷左子樹

(3)按先序遍歷右子樹

依據(jù)如上前序遍歷規(guī)章,來(lái)遍歷本題中的二叉樹。首先訪問(wèn)根結(jié)點(diǎn),即A,然后遍歷A的左子樹。遍歷左子樹同樣依據(jù)相同的規(guī)章首先訪問(wèn)

根結(jié)點(diǎn)B,然后遍歷B的左子樹。遍歷B的左子樹,首先訪問(wèn)D,然后訪問(wèn)D的左子樹,D的左子樹為空,接下來(lái)訪問(wèn)D的右子樹,即Y。

遍歷完B的左子樹后,再遍歷B的右子樹,即E。到此遍歷完A的左子樹,接下來(lái)遍歷A的右子樹。依據(jù)同樣的規(guī)章,首先訪問(wèn)C,然后通

歷C的左子樹。即F。c的左子樹遍歷完,接著遍歷C的右子樹。首先訪問(wèn)右子樹的根結(jié)點(diǎn)X,然后訪問(wèn)X的左子樹,X的左子樹,即Z,接

下來(lái)訪問(wèn)X的右子樹,右子樹為空。到此,把題目的二叉樹進(jìn)行了一次前序遍歷。遍歷的結(jié)果為ABDYECFXZ,故本題的正確答案為選項(xiàng)C。

(20)某二叉樹中有n個(gè)度為2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)為()

A)n+1B)n-1C)2nD)n/2

【答案】A

【解析】本題考查數(shù)據(jù)結(jié)構(gòu)中二叉樹的性質(zhì)。二叉樹滿意如下一條性質(zhì),即:對(duì)任意一棵二叉樹,若終端結(jié)點(diǎn)(即葉子結(jié)點(diǎn))數(shù)為n。,而其度

數(shù)為2的結(jié)點(diǎn)數(shù)為m,則n產(chǎn)m+L

依據(jù)這條性質(zhì)可知,若二叉樹中有n個(gè)度為2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)為n+1。因此,本題的正確答案是選項(xiàng)A。

(21)在深度為7的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為

A)32B)31C)64D)63

【答案】C

【解析】在二叉樹的第k層上,最多有力'代/1)個(gè)結(jié)點(diǎn)。對(duì)于滿二叉樹來(lái)說(shuō),每一層上的結(jié)點(diǎn)數(shù)都達(dá)到最大值,即在滿二叉樹的第k層上有

2卜”個(gè)結(jié)點(diǎn)。因此,在深度為7的滿二叉樹中,全部葉子結(jié)點(diǎn)在第7層上.即其結(jié)點(diǎn)數(shù)為22=2"=64因此.本題的正確答案為c。

(22)下列敘述中正確的是

A)一個(gè)笄法的空間簡(jiǎn)單度大,則其時(shí)間簡(jiǎn)單度也必定大

B)一個(gè)算法的空間簡(jiǎn)單度大,則期時(shí)間簡(jiǎn)單度必定小

C)一個(gè)算法的時(shí)間簡(jiǎn)單度大,則其空間簡(jiǎn)單度必定小

D)上述三種說(shuō)法都不對(duì)

【答案】D

【解析】時(shí)間簡(jiǎn)單度是指一個(gè)算法執(zhí)行時(shí)間的相對(duì)度量;空間簡(jiǎn)單度是指算法在運(yùn)行過(guò)程中臨時(shí)占用所需存儲(chǔ)空間大小的度量。人們都盼望

選擇一個(gè)既省存儲(chǔ)空間、又省執(zhí)行時(shí)間的算法。然而,有時(shí)為了加快算法的運(yùn)行速度,不得不增加空間開銷;有時(shí)為了能有效地存儲(chǔ)算法和

數(shù)據(jù),又不得不犧牲運(yùn)行時(shí)間。時(shí)間和空間的效率往往是一對(duì)沖突,很難做到兩全。但是,這不適用于全部的狀況,也就是說(shuō)時(shí)間簡(jiǎn)單度和

空間簡(jiǎn)單度之間雖然常常沖突。但是二者不存在必定的聯(lián)系。因此,選項(xiàng)A、B、c的說(shuō)法都是錯(cuò)誤的。故本題的正確答案是D。

(23)在長(zhǎng)度為64的有序線性表中進(jìn)行挨次查找,最壞狀況下需要比較的次數(shù)為

A)63B)64C)6D)7

【答案】B

【解析1在長(zhǎng)度為64的有序線性表中,其中的64個(gè)數(shù)據(jù)元素是依據(jù)從大到小或從小到大的挨次排列有序的。在這樣的線性表中進(jìn)行挨次查找,

最壞的狀況就是查找的數(shù)據(jù)元素不在線性表中或位于線性表的最終。依據(jù)線性表的挨次查找笄法,首先用被查找的數(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。

(24)對(duì)下列二叉樹

進(jìn)行中序遍歷的結(jié)果是

A)ACBDFEGB)ACBDFGE

C)ABDCGEFD)FCADBEG

【答案】A

【解析】二叉樹的中序遍歷遞歸算法為:假如根不空,則(1)按中序次序訪問(wèn)左子樹;(2)訪問(wèn)根結(jié)點(diǎn):(3)按中序次序訪問(wèn)右子樹。否則返回。

本題中,依據(jù)中序遍歷算法.應(yīng)首先依據(jù)中序次序訪問(wèn)以c為根結(jié)點(diǎn)的左子樹,然后再訪問(wèn)根結(jié)點(diǎn)F,最終才訪問(wèn)以E為根結(jié)點(diǎn)的右子樹。遍

歷以c為根結(jié)點(diǎn)的左子樹同樣要遵循中序遍歷算法,因此中序遍歷結(jié)果為ACBD;然后遍歷根結(jié)點(diǎn)F;遍歷以E為根結(jié)點(diǎn)的右子樹,同樣要遵

循中序遍歷算法,因此中序遍歷結(jié)果為EG。最終把這三部分的遍歷結(jié)果按按次連接起來(lái),中序遍歷結(jié)果為ACBDFEG。因此,本題的正確答

案是A。

(25)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指?

A)存儲(chǔ)在外存中的數(shù)據(jù)B)數(shù)據(jù)所占的存儲(chǔ)空間量

C)數(shù)據(jù)在計(jì)笄機(jī)中的挨次存儲(chǔ)方式D)數(shù)據(jù)的規(guī)律結(jié)構(gòu)在計(jì)算機(jī)中的表示

【答案】D

【解析】數(shù)據(jù)的規(guī)律結(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ì)棧的插入與刪除操作中,不需要轉(zhuǎn)變棧底指針

【答案】B

【解析】本題考核棧的基本概念,我們可以通過(guò)排解法來(lái)確定本題的答案。棧是限定在一端進(jìn)行插入與刪除的線性表,棧頂元素總是最終被

插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最終才能被刪除的元素,即棧是依據(jù)“先進(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)閚/2B)冒泡排序?yàn)閚

C)快速排序?yàn)閚D)快速排序?yàn)閚(n-l)/2

【答案】D

【解析1假設(shè)線性表的長(zhǎng)度為n,在最壞狀況下,冒泡排序和快速排序需要的比較次數(shù)為n(n—1)/2。由此可見(jiàn),選項(xiàng)D正確。

(28)對(duì)長(zhǎng)度為n的線性表進(jìn)行挨次查找,在最壞狀況下所需要的比較次數(shù)為。

A)log2nB)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

【解析】在姓式存儲(chǔ)結(jié)構(gòu)中,存儲(chǔ)數(shù)據(jù)的存儲(chǔ)空間可以不連續(xù),各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)挨次與數(shù)據(jù)元素之間的規(guī)律關(guān)系可以不全都,數(shù)據(jù)元素之

間的規(guī)律關(guān)系,是由指針域來(lái)確定的。由此可見(jiàn),選項(xiàng)A的描述正確。

(30)某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有個(gè)葉子結(jié)點(diǎn)。

【答案】19

【解析】二叉樹具有如下性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。依據(jù)題意,度為2的節(jié)點(diǎn)為

18個(gè),那么,葉子結(jié)點(diǎn)就應(yī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ī)律關(guān)系

可以不全郴。故本題答案應(yīng)為選項(xiàng)D)

(2)在待排序的元素序列基本有序的前提下,效率最高的排序方法是

A)冒泡排序

B)選擇排序

C)快速排序

D)歸并排序

解析:從平均時(shí)間性能而言,快速排序最佳,其所需時(shí)間最少,但快速排序在敢壞狀況下的時(shí)間性能不如堆排序和歸并排序。當(dāng)序列中的紀(jì)

錄基本有序或元素個(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ù)的規(guī)律結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)

解析:一般來(lái)說(shuō),一種數(shù)據(jù)結(jié)構(gòu)依據(jù)需要可以表示成多種存儲(chǔ)結(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ī)律關(guān)系是有可能不同的。故本題答案應(yīng)為選項(xiàng)B)o

(4)希爾排序?qū)儆?/p>

A)交換排序

B)歸并排序

C)選擇排序

D)插入排序

解析:希爾排序的基本思想是把紀(jì)錄按下標(biāo)的肯定增量分組,對(duì)每組紀(jì)錄使用插入排序,隨增量的漸漸減小,所分成的組包含的紀(jì)錄越來(lái)越

多,到增量的值減小到1時(shí),整個(gè)數(shù)據(jù)合成一組,構(gòu)成一組有序紀(jì)錄,故其屬于插入排序方法。故本題答案應(yīng)為選項(xiàng)D)。

(1)棧和隊(duì)列的共同特點(diǎn)是

A)都是先進(jìn)先出

B)都是先進(jìn)后出

C)只允許在端點(diǎn)處插入和刪除元素

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)o

(2)已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是

A)ached

B)decab

C)deabc

D)cedba

解析:依據(jù)后序遍歷序列可確定根結(jié)點(diǎn)為c;再依據(jù)中序遍歷序列可知其左子樹由deba構(gòu)成,右子樹為空;又由左子樹的后序遍歷序列可知

其根結(jié)點(diǎn)為e,由中序遍歷序列可知其左子樹為d,右子樹由ba構(gòu)成,如下圖所示。求得該二叉樹的前序遍歷序列為選項(xiàng)D)。

(3)鏈表不具有的特點(diǎn)是

A)不必事先估量存儲(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ù)元素的規(guī)律次序靠結(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í)間簡(jiǎn)單度是指

A)執(zhí)行算法程序所需要的時(shí)間

B)算法程序的長(zhǎng)度

C)算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)

D)算法程序中的指令條數(shù)

解析:算法的簡(jiǎn)單度主要包括算法的時(shí)間簡(jiǎn)單度和算法的空間簡(jiǎn)單度。所謂算法的時(shí)間簡(jiǎn)單度是指執(zhí)行算法所需要的計(jì)算工作量;算法的空

間簡(jiǎn)單度一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。故本題答案應(yīng)為選項(xiàng)A)。

(1)已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的后序遍歷為

A)GEDHFBCA

B)DGEBHFCA

C)ABCDEFGH

D)ACBFEDHG

解析:采用前序和中序遍歷的方法可以確定二叉樹的結(jié)構(gòu),具體步驟如下:①前序遍歷的第一個(gè)結(jié)點(diǎn)A為樹的根結(jié)點(diǎn);②中序遍歷中A的

左邊的結(jié)點(diǎn)為A的左子樹,A右邊的結(jié)點(diǎn)為A的右子樹;③再分別對(duì)A的左右子樹進(jìn)行上述兩步處理,直到每個(gè)結(jié)點(diǎn)都找到正確的位置。

故本題答案應(yīng)為選項(xiàng)B)o

(2)樹是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是

A)有且只有1

B)1或多于1

C)0或1

D)至少2

解析:樹是一個(gè)或多個(gè)結(jié)點(diǎn)組成的有限集合,其中一個(gè)特定的結(jié)點(diǎn)稱為根,其余結(jié)點(diǎn)分為若干個(gè)不相交的集合。每個(gè)集合同時(shí)又是一棵樹。

樹有且只有1個(gè)根結(jié)點(diǎn)。故本題答案應(yīng)為選項(xiàng)A)o

(3)假如進(jìn)棧序列為el,e2,e3,e4,則可能的出棧序列是

A)e3,e1,e4,e2

B)e2,e4,e3,el

C)e3,e4,el,e2

D)任意挨次

解析:由?!焙筮M(jìn)先出”的特點(diǎn)可知:A)中el不行能比e2先出,C)中e3不行能比e4先出,且el不行能比e2先出,D)中棧是先進(jìn)后出的,

所以不行能是任意挨次。B)中出棧過(guò)程如圖所示:

故本題答案應(yīng)為選項(xiàng)B)o

(4)在設(shè)計(jì)程序時(shí),應(yīng)接受的原則之一是

A)不限制gpt。語(yǔ)句的使用

B)削減或取消注解行

C)程序越短越好

D)程序結(jié)構(gòu)應(yīng)有助于讀者理解

解析:濫用goto語(yǔ)句將使程序流程無(wú)規(guī)律,可讀性差,因此A)不選;注解行有利于對(duì)程序的理解,不應(yīng)削減或取消,B)也不選;程序的

長(zhǎng)短要依照實(shí)際狀況而論,而不是越短越好,C)也不選。故本題答案應(yīng)為選項(xiàng)D)。

(5)程序設(shè)計(jì)語(yǔ)言的基本成分是數(shù)據(jù)成分、運(yùn)算成分、掌握成分和

A)對(duì)象成分

B)變量成分

C)語(yǔ)句成分

D)傳輸成分

解析:程序設(shè)計(jì)語(yǔ)言是用于書寫計(jì)算機(jī)程序的語(yǔ)言,其息本成分有以下4種,數(shù)據(jù)成分:用來(lái)描述程序中的數(shù)據(jù)。運(yùn)算成分:描述程序中所

需的運(yùn)算。掌握成分:用來(lái)構(gòu)造程序的規(guī)律掌握結(jié)構(gòu)。傳輸成分:定義數(shù)據(jù)傳輸成分,如輸入輸出語(yǔ)言。故本題答案應(yīng)為選項(xiàng)D)。

(1)循環(huán)鏈表的主要優(yōu)點(diǎn)是

A)不再需要頭指針了

B)從表中任一結(jié)點(diǎn)動(dòng)身都能訪問(wèn)到整個(gè)鏈表

C)在進(jìn)行插入、刪除運(yùn)算時(shí),能更好的保證鏈表不斷開

D)已知某個(gè)結(jié)點(diǎn)的位置后,能夠簡(jiǎn)潔的找到它的直接前件

解析:循環(huán)鏈表就是將單向鏈表中最終一個(gè)結(jié)點(diǎn)的指針指向頭結(jié)點(diǎn),使整個(gè)鏈表構(gòu)成一個(gè)環(huán)形,這樣的結(jié)構(gòu)使得從表中的任一結(jié)點(diǎn)動(dòng)身都能

訪問(wèn)到整個(gè)鏈表。故本題答案應(yīng)為選項(xiàng)B)。

(2)棧底至棧頂依次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素可以出棧,則出棧序列可能是

A)ABCED

B)DCBEA

C)DBCEA

D)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)行挨次查找,在最壞狀況下所需要的比較次數(shù)為o

A)N+1

B)N

Q(N+l)/2

D)N/2

解析:[答案]B,很簡(jiǎn)潔,我們的二級(jí)程序設(shè)計(jì)語(yǔ)言書中都有此算法,此外還要把握二分法查找,這也是我們二級(jí)中??嫉?。那么二分法最壞

的狀況為多少次呢?log2"的最小整數(shù)值。比如n為4,最壞的狀況要比較3次;n為18,最壞的狀況要比較5次。

(1)下列敘述中正確的是

A)線性表是線性結(jié)構(gòu)

B)棧與隊(duì)列是非線性結(jié)構(gòu)

C)線性鏈表是非線性結(jié)構(gòu)

D)二叉樹是線性結(jié)構(gòu)

解析:線性表是一種線性結(jié)構(gòu),數(shù)據(jù)元素在線性表中的位置只取決于它們自己的序號(hào),即數(shù)據(jù)元素之間的相對(duì)位更是線性的;棧、隊(duì)列、線

性鏈表實(shí)際上也是線性表,故也是線性結(jié)構(gòu);樹是一種簡(jiǎn)潔的非線性結(jié)構(gòu)。故本題答案應(yīng)為選項(xiàng)A)。

(2)非空的循環(huán)單鏈表head的尾結(jié)點(diǎn)(由p所指向),滿意

A)p->next==NULL

B)p二二NULL

C)p->next=head

D)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)鍵字值基本有序,在待排序序列基本有序的狀況下,接受插入排序所用

時(shí)間最少,故答案為選項(xiàng)B)。

(1)假設(shè)線性表的長(zhǎng)度為n,則在最壞狀況下,冒泡排序需要的比較次數(shù)為

A)log2n

B)n2

C)()(nl.5)

D)n(n-1)/2

解析:假設(shè)線性表的長(zhǎng)度為n,則在最壞狀況下,冒泡排序要經(jīng)過(guò)n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為

n(n-1)/2o故本題答案應(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ù)量級(jí),常用時(shí)間簡(jiǎn)單度和空間簡(jiǎn)單度表示。分析

算法的目的就是要降低算法的時(shí)間簡(jiǎn)單度和空間簡(jiǎn)單度,提高算法的執(zhí)行效率。故本題答案應(yīng)為選項(xiàng)D)。

(3)線性表L=(al,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)o

(4)在單鏈表中,增加頭結(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)o

(1)算法的空間簡(jiǎn)單度是指

A)算法程序的長(zhǎng)度

B)算法程序中的指令條數(shù)

C)算法程序所占的存儲(chǔ)空間

D)執(zhí)行過(guò)程中所需要的存儲(chǔ)空間

解析:算法的簡(jiǎn)單度主要包括算法的時(shí)間簡(jiǎn)單度和算法的空間簡(jiǎn)單度。所謂算法的時(shí)間簡(jiǎn)單度是指執(zhí)行算法所需要的計(jì)算工作量;算法的空

間簡(jiǎn)單度一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。故本題答案應(yīng)為選項(xiàng)D)。

(2)用鏈表表示線性表的優(yōu)點(diǎn)是

A)便于隨機(jī)存取

B)花費(fèi)的存儲(chǔ)空間較挨次存儲(chǔ)少

C)便于插入和刪除操作

D)數(shù)據(jù)元素的物理挨次與規(guī)律挨次相同

解析:鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)克服了挨次存儲(chǔ)結(jié)構(gòu)的鐵點(diǎn):它的結(jié)點(diǎn)空間可以動(dòng)態(tài)申請(qǐng)和釋放;它的數(shù)據(jù)元素的規(guī)律次序靠結(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)規(guī)律結(jié)構(gòu)

D)物理和存儲(chǔ)結(jié)構(gòu)

解析:數(shù)據(jù)結(jié)構(gòu)概念一般包括3個(gè)方面的內(nèi)容,數(shù)據(jù)的規(guī)律結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)及數(shù)據(jù)上的運(yùn)算集合。數(shù)據(jù)的規(guī)律結(jié)構(gòu)只抽象的反映數(shù)據(jù)元素之

間的規(guī)律關(guān)系,而不管它在計(jì)算機(jī)中的存儲(chǔ)表示形式。故本職答案應(yīng)為選項(xiàng)C)。

(1)由兩個(gè)棧共享一個(gè)存儲(chǔ)空間的好處是

A)削減存取時(shí)間,降低下溢發(fā)生的機(jī)率

B)節(jié)約存儲(chǔ)空間,降低上溢發(fā)生的機(jī)率

C)削減存取時(shí)間,降低上濫發(fā)生的機(jī)率

D)節(jié)約存儲(chǔ)空間,降低下溢發(fā)生的機(jī)率

解析:常常一個(gè)程序中要用到多個(gè)棧,為了不發(fā)生上溢錯(cuò)誤,就必需給每個(gè)棧安排一個(gè)足夠大的存儲(chǔ)空間。但實(shí)際中,很難精確地

估量,若每個(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和q,求q在p中首次消失位置的運(yùn)算稱作

A)連接

B)模式匹配

C)求子串

D)求串長(zhǎng)

解析:子串的定位操作通常稱作串的模式匹配,是各種串處理系統(tǒng)中最重要的操作之一,算法的基本思想是:從主串的開頭字符起和模式的

第一個(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)后出的,2者的區(qū)分肯定要搞清晰。

⑴算法的空間簡(jiǎn)單度是指

A)算法程序的長(zhǎng)度

B)算法程序中的指令條教

C)執(zhí)行算法程序所占的存儲(chǔ)空間

D)算法執(zhí)行過(guò)程中所需要的存儲(chǔ)空間

【答案】D

【解析】算法的空間簡(jiǎn)單度一般是指這個(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)

C)索引結(jié)構(gòu)

D)散列結(jié)構(gòu)

【答案】B

【解析】線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的每一個(gè)存儲(chǔ)結(jié)點(diǎn)不僅含有一個(gè)數(shù)據(jù)元素,還包括指針,每一個(gè)指針指向一個(gè)與本結(jié)點(diǎn)有規(guī)律關(guān)系的結(jié)點(diǎn)。

此類存儲(chǔ)方式屬于挨次存儲(chǔ)。

(3)設(shè)有下列二叉樹:對(duì)此二叉樹先序遍歷的結(jié)果是

A)AB(:DEF

B)DBEAFC

QABDECF

D)DEBFCA

【答案】C

【解析】二叉樹的遍歷分為先序、中序、后序三種不同方式。本題要求先序遍歷;遍歷挨次應(yīng)為:訪問(wèn)根結(jié)點(diǎn)->先序遍歷左子樹->先序遍歷

右子樹。依據(jù)定義,先序遍歷序列是ABDECF。

(1)算法分析的目的是O

A)找出數(shù)據(jù)結(jié)構(gòu)的合理性B)找出算法中輸入和輸出之間的關(guān)系

C)分析笄法的易懂性和牢靠性D)分析算法的效率以求改進(jìn)

答案:D

評(píng)析:算法分析是指對(duì)一個(gè)算法的運(yùn)行時(shí)間和占用空間做定量的分析,一般計(jì)笄出相應(yīng)的數(shù)量級(jí),常用時(shí)間簡(jiǎn)單度和空間簡(jiǎn)單度表示。分析

算法的目的就是要降低算法的時(shí)間簡(jiǎn)單度和空間簡(jiǎn)單度,提高算法的執(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ù)元素的物理挨次與規(guī)律挨次相同

C)花費(fèi)的存儲(chǔ)空間較挨次存儲(chǔ)少D)便于隨機(jī)存取

答案:A

評(píng)析:鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)克服了挨次存儲(chǔ)結(jié)構(gòu)的缺點(diǎn):它的結(jié)點(diǎn)空間可以動(dòng)態(tài)申請(qǐng)和釋放;它的數(shù)據(jù)元素的規(guī)律次序靠結(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)的是。

A、隊(duì)列B、線性表

溫馨提示

  • 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)論