版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)考前押題未來(lái)教育內(nèi)部資料1.下列敘述中正確的是A)所謂算法就是計(jì)算方法B)程序可以作為算法的一種描述方法C)算法設(shè)計(jì)只需考慮得到計(jì)算結(jié)果D)算法設(shè)計(jì)可以忽略算法的運(yùn)算時(shí)間B【解析】算法是指對(duì)解題方案的準(zhǔn)確而完整的描述,算法不等于數(shù)學(xué)上的計(jì)算方法,也不等于程序。算法設(shè)計(jì)需要考慮可行性、確定性、有窮性與足夠的情報(bào),不能只考慮計(jì)算結(jié)果。算法設(shè)計(jì)有窮性是指操作步驟有限且能在有限時(shí)間內(nèi)完成,如果一個(gè)算法執(zhí)行耗費(fèi)的時(shí)間太長(zhǎng),即使最終得出了正確結(jié)果,也是沒(méi)有意義的,。算法在實(shí)現(xiàn)時(shí)需要用具體的程序設(shè)計(jì)語(yǔ)言描述,所以程序可以作為算法的一種描述方法。2.下列關(guān)于算法的描述中錯(cuò)誤的是A)算法強(qiáng)調(diào)動(dòng)態(tài)的執(zhí)行過(guò)程,不同于靜態(tài)的計(jì)算公式B)算法必須能在有限個(gè)步驟之后終止C)算法設(shè)計(jì)必須考慮算法的復(fù)雜度D)算法的優(yōu)劣取決于運(yùn)行算法程序的環(huán)境D【解析】算法設(shè)計(jì)不僅要考慮計(jì)算結(jié)果的正確性,還要考慮算法的時(shí)間復(fù)雜度和空間復(fù)雜度。3.下列敘述中正確的是A)算法的復(fù)雜度包括時(shí)間復(fù)雜度與空間復(fù)雜度B)算法的復(fù)雜度是指算法控制結(jié)構(gòu)的復(fù)雜程度C)算法的復(fù)雜度是指算法A)數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)元素可以是另一數(shù)據(jù)結(jié)構(gòu)B)數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)元素不能是另一數(shù)據(jù)結(jié)構(gòu)C)空數(shù)據(jù)結(jié)構(gòu)可以是線(xiàn)性結(jié)構(gòu)也可以是非線(xiàn)性結(jié)構(gòu)D)非空數(shù)據(jù)結(jié)構(gòu)可以沒(méi)有根結(jié)點(diǎn)B【解析】數(shù)據(jù)元素是一個(gè)含義很廣泛的概念,它是數(shù)據(jù)的“基本單位”,在計(jì)算機(jī)中通常作為一個(gè)整體進(jìn)行考慮和處理。數(shù)據(jù)元素可以是一個(gè)數(shù)據(jù)也可以是被抽象出的具有一定結(jié)構(gòu)數(shù)據(jù)集合,所以數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)元素可以是另一數(shù)據(jù)結(jié)構(gòu)。滿(mǎn)足有且只有一個(gè)根結(jié)點(diǎn)并且每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件的非空的數(shù)據(jù)結(jié)構(gòu)認(rèn)為是線(xiàn)性結(jié)構(gòu),不滿(mǎn)足條件的結(jié)構(gòu)為非線(xiàn)性結(jié)構(gòu)??諗?shù)據(jù)結(jié)構(gòu)可以是線(xiàn)性結(jié)構(gòu)也可以是非線(xiàn)性結(jié)構(gòu)。非空數(shù)據(jù)結(jié)構(gòu)可以沒(méi)有根結(jié)點(diǎn),如非性線(xiàn)結(jié)構(gòu)“圖”就沒(méi)有根結(jié)點(diǎn)。11.下列敘述中正確的是A)非線(xiàn)性結(jié)構(gòu)可以為空B)只有一個(gè)根結(jié)點(diǎn)和一個(gè)葉子結(jié)點(diǎn)的必定是線(xiàn)性結(jié)構(gòu)C)只有一個(gè)根結(jié)點(diǎn)的必定是線(xiàn)性結(jié)構(gòu)或二叉樹(shù)D)沒(méi)有根結(jié)點(diǎn)的一定是非線(xiàn)性結(jié)構(gòu)A【解析】如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿(mǎn)足下列兩個(gè)條件:①有且只有一個(gè)根結(jié)點(diǎn);②每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。則稱(chēng)該數(shù)據(jù)結(jié)構(gòu)為線(xiàn)性結(jié)構(gòu)。如果一個(gè)數(shù)據(jù)結(jié)構(gòu)不是線(xiàn)性結(jié)構(gòu),則稱(chēng)之為非線(xiàn)性結(jié)構(gòu)。線(xiàn)性結(jié)構(gòu)和非線(xiàn)性結(jié)構(gòu)都可以是空的數(shù)據(jù)結(jié)構(gòu)。樹(shù)只有一個(gè)根結(jié)點(diǎn),但不論有幾個(gè)葉子結(jié)點(diǎn),樹(shù)都是非線(xiàn)性結(jié)構(gòu)。12.下列敘述中錯(cuò)誤的是A)向量是線(xiàn)性結(jié)構(gòu)B)非空線(xiàn)性結(jié)構(gòu)中只有一個(gè)結(jié)點(diǎn)沒(méi)有前件C)非空線(xiàn)性結(jié)構(gòu)中只有一個(gè)結(jié)點(diǎn)沒(méi)有后件D)具有兩個(gè)以上指針域的鏈?zhǔn)浇Y(jié)構(gòu)一定屬于非線(xiàn)性結(jié)構(gòu)D【解析】雙向鏈表每個(gè)結(jié)點(diǎn)有兩個(gè)指針,一個(gè)為左指針,用于指向其前件結(jié)點(diǎn);一個(gè)為右指針,用于指向其后件結(jié)點(diǎn),再加上頭指針,具有兩個(gè)以上的指針,但雙向鏈表屬于線(xiàn)性結(jié)構(gòu)。非空線(xiàn)性結(jié)構(gòu)中第一個(gè)結(jié)點(diǎn)沒(méi)有前件,最后一個(gè)結(jié)點(diǎn)無(wú)后件,其余結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。向量也滿(mǎn)足這個(gè)條件,屬于線(xiàn)性結(jié)構(gòu)。13.設(shè)數(shù)據(jù)結(jié)構(gòu)B=(D,
R),其中
D={
a,
b,
c,
d,
e,
f
}
R={
(f,
a),
(d,
b),
(e,
d),
(c,
e),
(a,
c)
}
該數(shù)據(jù)結(jié)構(gòu)為A)線(xiàn)性結(jié)構(gòu)B)循環(huán)隊(duì)列C)循環(huán)鏈表D)非線(xiàn)性結(jié)構(gòu)A【解析】數(shù)據(jù)的邏輯結(jié)構(gòu)有兩個(gè)要素:一是數(shù)據(jù)元素的集合,通常記為D;二是D上的關(guān)系,它反映了D中各數(shù)據(jù)元素之間的前后件關(guān)系,通常記為R。即一個(gè)數(shù)據(jù)結(jié)構(gòu)可以表示成B=(D,R)。其中B表示數(shù)據(jù)結(jié)構(gòu)。為了反映D中各數(shù)據(jù)元素之間的前后件關(guān)系,一般用二元組來(lái)表示。例如,假設(shè)a與b是D中的兩個(gè)數(shù)據(jù),則二元組(a,b)表示a是b的前件,b是a的后件。本題中R中的根結(jié)點(diǎn)為f,元素順序?yàn)閒→a→c→e→d→b,滿(mǎn)足線(xiàn)性結(jié)構(gòu)的條件。14.設(shè)數(shù)據(jù)集合為D={
1,
2,
3,
4,
5
}。下列數(shù)據(jù)結(jié)構(gòu)
B=(D,
R)中為非線(xiàn)性結(jié)構(gòu)的是A)R={
(2,5),
(5,4),
(3,1),
(4,3)
}B)R={
(1,2),
(2,3),
(3,4),
(4,5)
}C)R={
(1,2),
(2,3),
(4,3),
(3,5)
}D)R={
(5,4),
(4,3),
(3,2),
(2,1)
}C【解析】A項(xiàng)中,R={(2,5),(5,4),(3,1),(4,3)},2為根結(jié)點(diǎn),元素順序?yàn)?→5→4→3→1,屬于線(xiàn)性結(jié)構(gòu);同理B項(xiàng)1為根結(jié)點(diǎn),元素順序?yàn)?→2→3→4→5,D項(xiàng)5為跟結(jié)點(diǎn),元素順序?yàn)?→4→3→2→1,均為線(xiàn)性結(jié)構(gòu)。C項(xiàng)中,元素3有兩個(gè)前件,屬于非線(xiàn)性結(jié)構(gòu)。15.下列敘述中正確的是A)矩陣是非線(xiàn)性結(jié)構(gòu)B)數(shù)組是長(zhǎng)度固定的線(xiàn)性表C)對(duì)線(xiàn)性表只能作插入與刪除運(yùn)算D)線(xiàn)性表中各元素的數(shù)據(jù)類(lèi)型可以不同B【解析】矩陣也是線(xiàn)性表,只不過(guò)是比較復(fù)雜的線(xiàn)性表。線(xiàn)性表中各元素的數(shù)據(jù)類(lèi)型必須相同。在線(xiàn)性表中,不僅可以做插入與刪除運(yùn)算,還可以進(jìn)行查找或?qū)€(xiàn)性表進(jìn)行排序等操作。16.在線(xiàn)性表的順序存儲(chǔ)結(jié)構(gòu)中,其存儲(chǔ)空間連續(xù),各個(gè)元素所占的字節(jié)數(shù)A不同,但元素的存儲(chǔ)順序與邏輯順序一致B)不同,且其元素的存儲(chǔ)順序可以與邏輯順序不一致C)相同,元素的存儲(chǔ)順序與邏輯順序一致D)相同,但其元素的存儲(chǔ)順序可以與邏輯順序不一致C【解析】在線(xiàn)性表的順序存儲(chǔ)結(jié)構(gòu)中,其存儲(chǔ)空間連續(xù),各個(gè)元素所占的字節(jié)數(shù)相同,在存儲(chǔ)空間中是按邏輯順序依次存放的。17.下列敘述中正確的是A)能采用順序存儲(chǔ)的必定是線(xiàn)性結(jié)構(gòu)B)所有的線(xiàn)性結(jié)構(gòu)都可以采用順序存儲(chǔ)結(jié)構(gòu)C)具有兩個(gè)以上指針的鏈表必定是非線(xiàn)性結(jié)構(gòu)D)循環(huán)隊(duì)列是隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)B【解析】所有的線(xiàn)性結(jié)構(gòu)都可以用數(shù)組保存,即都可以采用順序存儲(chǔ)結(jié)構(gòu)。而反過(guò)來(lái)不可以,完全二叉樹(shù)也能用數(shù)組保存(按層次依次存放到數(shù)據(jù)元素中),但完全二叉樹(shù)不屬于非線(xiàn)性結(jié)構(gòu)。雙向鏈表具有兩個(gè)以上的指針,但屬于線(xiàn)性結(jié)構(gòu)。循環(huán)隊(duì)列是隊(duì)列的順序存儲(chǔ)結(jié)構(gòu)。18.下列敘述中正確的是A)在棧中,棧頂指針的動(dòng)態(tài)變化決定棧中元素的個(gè)數(shù)B)在循環(huán)隊(duì)列中,隊(duì)尾指針的動(dòng)態(tài)變化決定隊(duì)列的長(zhǎng)度C)在循環(huán)鏈表中,頭指針和鏈尾指針的動(dòng)態(tài)變化決定鏈表的長(zhǎng)度D)在線(xiàn)性鏈表中,頭指針和鏈尾指針的動(dòng)態(tài)變化決定鏈表的長(zhǎng)度A【解析】在棧中,通常用指針top來(lái)指示棧頂?shù)奈恢?,用指針bottom指向棧底。棧頂指針top動(dòng)態(tài)反應(yīng)了棧中元素的變化情況。在循環(huán)隊(duì)列中,隊(duì)頭指針和隊(duì)尾指針的動(dòng)態(tài)變化決定隊(duì)列的長(zhǎng)度。鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,并且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致,故頭指針和尾指針或棧頂指針無(wú)法決定鏈表長(zhǎng)度。19.設(shè)棧的順序存儲(chǔ)空間為S(1:m),初始狀態(tài)為top=0。現(xiàn)經(jīng)過(guò)一系列正常的入棧與退棧操作后,top=m+1,則棧中的元素個(gè)數(shù)為A)0B)mC)不可能D)m+1C【解析】棧為空時(shí),棧頂指針top=0,經(jīng)過(guò)入棧和退棧運(yùn)算,指針始終指向棧頂元素。初始狀態(tài)為top=0,當(dāng)棧滿(mǎn)時(shí)top=m,無(wú)法繼續(xù)入棧,top值不可能為m+1。20.設(shè)棧的存儲(chǔ)空間為S(1:50),初始狀態(tài)為top=-1。現(xiàn)經(jīng)過(guò)一系列正常的入棧與退棧操作后,top=30,則棧中的元素個(gè)數(shù)為A)20B)19C)31D)30D【解析】棧的初始狀態(tài)為top=-1表示棧為空(沒(méi)有規(guī)定棧中棧底必須是0),經(jīng)過(guò)一系列正常的入棧與退棧操作后top=30,則空間(1:30)中插入了元素,共30個(gè)。21.設(shè)棧的順序存儲(chǔ)空間為S(1:m),初始狀態(tài)為top=m+1,則棧中的數(shù)據(jù)元素個(gè)數(shù)為A)top-m+1B)m-top+1C)m-topD)top-mB【解析】棧的初始狀態(tài)top=m+1,說(shuō)明??諘r(shí)top=m+1(m在棧底,1是開(kāi)口向上的),入棧時(shí)棧頂指針是減操作(top=top-1),退棧時(shí)棧頂指針是加操作(top=top+1)。本題可以假設(shè)棧中有x個(gè)元素,當(dāng)x=0時(shí),也就是棧中沒(méi)有元素,則top=m+1;當(dāng)x=m時(shí),也就是棧滿(mǎn),則top=1,由此可以得出top=m+1-x,繼而得出x=top-m+1。22.設(shè)棧的順序存儲(chǔ)空間為S(1:m),初始狀態(tài)為top=m+1。現(xiàn)經(jīng)過(guò)一系列正常的入棧與退棧操作后,top=0,則棧中的元素個(gè)數(shù)為A)1B)mC)m+1D)不可能D【解析】棧的初始狀態(tài)為top=m+1,說(shuō)明??諘r(shí)top=m+1,入棧時(shí)棧頂指針是減操作(top=top-1),退棧時(shí)棧頂指針是加操作(top=top+1)。棧滿(mǎn)時(shí)top=1,說(shuō)明棧中不能再進(jìn)行入棧操作,top=0的情況不會(huì)出現(xiàn)。23.設(shè)棧的存儲(chǔ)空間為S(1:m),初始狀態(tài)為top=m+1。經(jīng)過(guò)一系列入棧與退棧操作后,top=1。現(xiàn)又要將一個(gè)元素進(jìn)棧,棧頂指針top值變?yōu)锳)0B)發(fā)生棧滿(mǎn)的錯(cuò)誤C)mD)2B【解析】棧的初始狀態(tài)為top=m+1,說(shuō)明??諘r(shí)top=m+1,入棧時(shí)棧頂指針是減操作(top=top-1),退棧時(shí)棧頂指針是加操作(top=top+1)。棧滿(mǎn)時(shí)top=1,說(shuō)明棧中不能再進(jìn)行入棧操作(“上溢”錯(cuò)誤)。24.設(shè)棧的存儲(chǔ)空間為S(1:m),初始狀態(tài)為top=m+1。經(jīng)過(guò)一系列入棧與退棧操作后,top=m?,F(xiàn)又在棧中退出一個(gè)元素后,棧頂指針top值為A)0B)m-1C)m+1D)產(chǎn)生棧空錯(cuò)誤C【解析】棧的順序存儲(chǔ)空間為S(1:m),初始狀態(tài)top=m+1,所以這個(gè)棧是m在棧底,1是開(kāi)口向上的。經(jīng)過(guò)一系列入棧與退棧操作后top=m,則棧中有1個(gè)元素,若現(xiàn)在又退出一個(gè)元素,那么棧頂指針下移一位,回到m+1的位置。25.設(shè)棧的存儲(chǔ)空間為S(1:50),初始狀態(tài)為top=51。現(xiàn)經(jīng)過(guò)一系列正常的入棧與退棧操作后,top=20,則棧中的元素個(gè)數(shù)為A)31B)30C)21D)20A【解析】棧的初始狀態(tài)top=51,故本棧是51在棧底,入棧時(shí)棧頂指針是減操作(top=top-1),退棧時(shí)棧頂指針是加操作(top=top+1)。當(dāng)top=20時(shí),元素存儲(chǔ)在(20:50)空間中,因此共有50-20+1=31個(gè)元素。26.下列處理中與隊(duì)列有關(guān)的是A)二叉樹(shù)的遍歷B)操作系統(tǒng)中的作業(yè)調(diào)度C)執(zhí)行程序中的過(guò)程調(diào)用D)執(zhí)行程序中的循環(huán)控制B【解析】隊(duì)列是指允許在一端進(jìn)行插入,而在另一端進(jìn)行刪除的線(xiàn)性表。由于最先進(jìn)入隊(duì)列的元素將最先出隊(duì),所以隊(duì)列具有“先進(jìn)先出”的特性,體現(xiàn)了“先來(lái)先服務(wù)”的原則。操作系統(tǒng)中的作業(yè)調(diào)度是指根據(jù)一定信息,按照一定的算法,從外存的后備隊(duì)列中選取某些作業(yè)調(diào)入內(nèi)存分配資源并將新創(chuàng)建的進(jìn)程插入就緒隊(duì)列的過(guò)程。執(zhí)行程序中的過(guò)程調(diào)用一般指函數(shù)調(diào)用,需要調(diào)用時(shí)候轉(zhuǎn)入被調(diào)用函數(shù)地址執(zhí)行程序,與隊(duì)列無(wú)關(guān)。執(zhí)行程序中的循環(huán)控制是指算法的基本控制結(jié)構(gòu),包括對(duì)循環(huán)條件的判定與執(zhí)行循環(huán)體,與隊(duì)列無(wú)關(guān)。二叉樹(shù)是一個(gè)有限的結(jié)點(diǎn)集合,二叉樹(shù)的遍歷是指不重復(fù)地訪(fǎng)問(wèn)二叉樹(shù)中的所有結(jié)點(diǎn),與隊(duì)列無(wú)關(guān)。27.設(shè)有棧S和隊(duì)列Q,初始狀態(tài)均為空。首先依次將A,B,C,D,E,F入棧,然后從棧中退出三個(gè)元素依次入隊(duì),再將X,Y,Z入棧后,將棧中所有元素退出并依次入隊(duì),最后將隊(duì)列中所有元素退出,則退隊(duì)元素的順序?yàn)锳)DEFXYZABCB)FEDZYXCBAC)FEDXYZCBAD)DEFZYXABCB【解析】棧是一種特殊的線(xiàn)性表,它所有的插入與刪除都限定在表的同一端進(jìn)行。隊(duì)列是指允許在一端進(jìn)行插入,而在另一端進(jìn)行刪除的線(xiàn)性表。將A,B,C,D,E,F入棧后,棧中元素為ABCDEF,退出三個(gè)元素入隊(duì),隊(duì)列元素為FED,將X,Y,Z入棧后棧中元素為ABCXYZ,退棧全部入隊(duì)后,隊(duì)列元素為FEDZYXCBA。28.下列敘述中正確的是A)循環(huán)隊(duì)列是順序存儲(chǔ)結(jié)構(gòu)B)循環(huán)隊(duì)列是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)C)循環(huán)隊(duì)列空的條件是隊(duì)頭指針與隊(duì)尾指針相同D)循環(huán)隊(duì)列的插入運(yùn)算不會(huì)發(fā)生溢出現(xiàn)象A【解析】循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu)。在循環(huán)隊(duì)列中,在隊(duì)列滿(mǎn)和隊(duì)列為空時(shí),隊(duì)頭指針與隊(duì)尾指針均相同;當(dāng)需要插入的數(shù)據(jù)大于循環(huán)隊(duì)列的存儲(chǔ)長(zhǎng)度,入隊(duì)運(yùn)算會(huì)覆蓋前面的數(shù)據(jù),發(fā)生溢出現(xiàn)象。29.下列敘述中正確的是A)在循環(huán)隊(duì)列中,隊(duì)尾指針的動(dòng)態(tài)變化決定隊(duì)列的長(zhǎng)度B)在循環(huán)隊(duì)列中,隊(duì)頭指針和隊(duì)尾指針的動(dòng)態(tài)變化決定隊(duì)列的長(zhǎng)度C)在帶鏈的隊(duì)列中,隊(duì)頭指針與隊(duì)尾指針的動(dòng)態(tài)變化決定隊(duì)列的長(zhǎng)度D)在帶鏈的棧中,棧頂指針的動(dòng)態(tài)變化決定棧中元素的個(gè)數(shù)B【解析】在循環(huán)隊(duì)列中,隊(duì)頭指針和隊(duì)尾指針的動(dòng)態(tài)變化決定隊(duì)列的長(zhǎng)度。帶鏈的棧和帶鏈的隊(duì)列均采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),而在這種結(jié)構(gòu)中,各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,并且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致,故頭指針和尾指針或棧頂指針無(wú)法決定鏈表長(zhǎng)度。30.循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:50),初始狀態(tài)為front=rear=50。經(jīng)過(guò)一系列正常的入隊(duì)與退隊(duì)操作后,front=rear=25,此后又插入一個(gè)元素,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為A)1,或50且產(chǎn)生上溢錯(cuò)誤B)51C)26D)2A【解析】循環(huán)隊(duì)列長(zhǎng)度為50,由初始狀態(tài)為front=rear=50可知此時(shí)循環(huán)隊(duì)列為空。入隊(duì)運(yùn)算時(shí),首先隊(duì)尾指針rear進(jìn)1(即rear+1),然后在隊(duì)尾指針rear指向的位置插入新元素。當(dāng)隊(duì)尾指針rear=50+1時(shí),置rear=1。退隊(duì)運(yùn)算時(shí),排頭指針front進(jìn)1(即front+1),然后刪除front指針指向的位置上的元素,當(dāng)排頭指針front=50+1時(shí),置front=1。當(dāng)front=rear=25時(shí)可知隊(duì)列空或者隊(duì)列滿(mǎn),此后又插入了一個(gè)元素,如果之前隊(duì)列為空,插入操作之后隊(duì)列里只有一個(gè)元素;如果插入之前隊(duì)列已滿(mǎn)(50個(gè)元素),執(zhí)行插入則會(huì)產(chǎn)生溢出錯(cuò)誤。31.循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:40),初始狀態(tài)為front=rear=40。經(jīng)過(guò)一系列正常的入隊(duì)與退隊(duì)操作后,front=rear=15,此后又退出一個(gè)元素,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為A)14B)15C)40D)39,或0且產(chǎn)生下溢錯(cuò)誤D【解析】當(dāng)front=rear=15時(shí)可知隊(duì)列空或者隊(duì)列滿(mǎn),此后又退出一個(gè)元素,如果之前隊(duì)列為空,退出操作會(huì)產(chǎn)生錯(cuò)誤,隊(duì)列里有0個(gè)元素;如果退出之前隊(duì)列已滿(mǎn)(40個(gè)元素),執(zhí)行退出后,隊(duì)列里還有39個(gè)元素。32.設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:50),初始狀態(tài)為front=rear=50?,F(xiàn)經(jīng)過(guò)一系列入隊(duì)與退隊(duì)操作后,front=rear=1,此后又正常地插入了兩個(gè)元素。最后該隊(duì)列中的元素個(gè)數(shù)為A)3B)1C)2D)52C【解析】由front=rear=1可知隊(duì)列空或者隊(duì)列滿(mǎn),此后又可以正常地插入了兩個(gè)元素說(shuō)明插入前隊(duì)列為空,則插入后隊(duì)列元素個(gè)數(shù)為2。33.設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:m),初始狀態(tài)為空?,F(xiàn)經(jīng)過(guò)一系列正常的入隊(duì)與退隊(duì)操作后,front=m,rear=m-1,此后從該循環(huán)隊(duì)列中刪除一個(gè)元素,則隊(duì)列中的元素個(gè)數(shù)為A)m-1B)m-2C)0D)1B【解析】從排頭指針front指向的后一個(gè)位置直到隊(duì)尾指針rear指向的位置之間所有的元素均為隊(duì)列中的元素。如果rear-front>0,則隊(duì)列中的元素個(gè)數(shù)為rear-front個(gè);如果rear-front<0,則隊(duì)列中的元素個(gè)數(shù)為rear-front+m。該題中m-1<m,即rear-front<0,則該循環(huán)隊(duì)列中的元素個(gè)數(shù)為(m-1)-m+m=m-1。此后從該循環(huán)隊(duì)列中刪除一個(gè)元素,則隊(duì)列中的元素個(gè)數(shù)為m-1-1=m-2。34.設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:m),初始狀態(tài)為空?,F(xiàn)經(jīng)過(guò)一系列正常的入隊(duì)與退隊(duì)操作后,front=m-1,rear=m,此后再向該循環(huán)隊(duì)列中插入一個(gè)元素,則隊(duì)列中的元素個(gè)數(shù)為A)mB)m-1C)1D)2D【解析】該題中m-1<m,即rear-front>0,則該循環(huán)隊(duì)列中的元素個(gè)數(shù)為m-(m-1)=1。此后從該循環(huán)隊(duì)列中插入一個(gè)元素,則隊(duì)列中的元素個(gè)數(shù)為1+1=2。35.設(shè)循環(huán)隊(duì)列為Q(1:m),其初始狀態(tài)為front=rear=m。經(jīng)過(guò)一系列入隊(duì)與退隊(duì)運(yùn)算后,front=30,rear=10?,F(xiàn)要在該循環(huán)隊(duì)列中作順序查找,最壞情況下需要比較的次數(shù)為A)19B)20C)m-19D)m-20D【解析】front=30,rear=10,front>rear,則隊(duì)列中有10-30+m=m-20個(gè)元素,在作順序查找時(shí),最壞情況下(最后一個(gè)元素才是要找的元素或沒(méi)有要查找的元素)比較次數(shù)為m-20次。36.設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:m),初始狀態(tài)為
front=rear=m。經(jīng)過(guò)一系列正常的操作后,front=1,rear=m。為了在該隊(duì)列中尋找值最大的元素,在最壞情況下需要的比較次數(shù)為A)0B)1C)m-2D)m-1C【解析】該題中1<m,即rear-front>0,則該循環(huán)隊(duì)列中的元素個(gè)數(shù)為m-1。此在該隊(duì)列中尋找值最大的元素,在最壞情況下需要的比較次數(shù)為m-1-1=m-2。37.設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:50),初始狀態(tài)為front=rear=50。經(jīng)過(guò)一系列正常的操作后,front-1=rear。為了在該隊(duì)列中尋找值最大的元素,在最壞情況下需要的比較次數(shù)為A)48B)49C)1D)0A【解析】該題中rear-front=front-1-front<0,則該循環(huán)隊(duì)列中的元素個(gè)數(shù)為rear-front+50=front-1-front+50=49。在該隊(duì)列中尋找值最大的元素,在最壞情況下需要的比較次數(shù)為49-1=48。38.設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:50),初始狀態(tài)為front=rear=50。經(jīng)過(guò)一系列正常的操作后,front=rear-1。為了在該隊(duì)列中尋找值最大的元素,在最壞情況下需要的比較次數(shù)為A)1B)0C)49D)50B【解析】該題中rear-front=rear-(rear-1)>0,則該循環(huán)隊(duì)列中的元素個(gè)數(shù)為rear-front=rear-(rear-1)=1。因隊(duì)列中只有1個(gè)元素,故尋找值最大的元素不需要進(jìn)行比較,即比較次數(shù)為0。39.線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)相比,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的優(yōu)點(diǎn)有A)節(jié)省存儲(chǔ)空間B)插入與刪除運(yùn)算效率高C)便于查找D)排序時(shí)減少元素的比較次數(shù)B【解析】線(xiàn)性表的順序存儲(chǔ)結(jié)構(gòu)稱(chēng)為順序表,線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)稱(chēng)為鏈表,兩者的優(yōu)缺點(diǎn)如下表所示。類(lèi)型優(yōu)點(diǎn)缺點(diǎn)順序表(1)可以隨機(jī)存取表中的任意結(jié)點(diǎn)(2)無(wú)需為表示結(jié)點(diǎn)間的邏輯關(guān)系額外增加存儲(chǔ)空間(1)插入和刪除運(yùn)算效率低(2)存儲(chǔ)空間不便于擴(kuò)充(3)不便于對(duì)存儲(chǔ)空間的動(dòng)態(tài)分配鏈表(1)在進(jìn)行插入和刪除運(yùn)算時(shí),只需要改變指針即可,不需要移動(dòng)元素(2)存儲(chǔ)空間易于擴(kuò)充并且方便空間的動(dòng)態(tài)分配需要額外的空間(指針域)來(lái)表示數(shù)據(jù)元素之間的邏輯關(guān)系,存儲(chǔ)密度比順序表低40.下列結(jié)構(gòu)中屬于線(xiàn)性結(jié)構(gòu)鏈?zhǔn)酱鎯?chǔ)的是A)雙向鏈表B)循環(huán)隊(duì)列C)二叉鏈表D)二維數(shù)組A【解析】雙向鏈表也叫雙鏈表,是鏈表(采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu))的一種,它的每個(gè)數(shù)據(jù)結(jié)點(diǎn)中都有兩個(gè)指針,分別指向直接后繼和直接前驅(qū)。循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu)。二叉鏈表和二維數(shù)組屬于非線(xiàn)性結(jié)構(gòu)。41.在線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,其存儲(chǔ)空間一般是不連續(xù)的,并且A)前件結(jié)點(diǎn)的存儲(chǔ)序號(hào)小于后件結(jié)點(diǎn)的存儲(chǔ)序號(hào)B)前件結(jié)點(diǎn)的存儲(chǔ)序號(hào)大于后件結(jié)點(diǎn)的存儲(chǔ)序號(hào)C)前件結(jié)點(diǎn)的存儲(chǔ)序號(hào)可以小于也可以大于后件結(jié)點(diǎn)的存儲(chǔ)序號(hào)D)以上三種說(shuō)法均不正確C【解析】在線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,并且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致,因此前件結(jié)點(diǎn)的存儲(chǔ)序號(hào)與后件結(jié)點(diǎn)的存儲(chǔ)序號(hào)之間不存在大小關(guān)系。42.下列敘述中正確的是A)結(jié)點(diǎn)中具有兩個(gè)指針域的鏈表一定是二叉鏈表B)結(jié)點(diǎn)中具有兩個(gè)指針域的鏈表可以是線(xiàn)性結(jié)構(gòu),也可以是非線(xiàn)性結(jié)構(gòu)C)循環(huán)鏈表是循環(huán)隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)D)循環(huán)鏈表是非線(xiàn)性結(jié)構(gòu)B【解析】結(jié)點(diǎn)中具有兩個(gè)指針域的鏈表既可以是雙向鏈表也可以是二叉鏈表,雙向鏈表是線(xiàn)性結(jié)構(gòu),二叉鏈表屬于非線(xiàn)性結(jié)構(gòu)。循環(huán)鏈表是線(xiàn)性鏈表的一種形式,屬于線(xiàn)性結(jié)構(gòu),采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),而循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu)。43.帶鏈的棧與順序存儲(chǔ)的棧相比,其優(yōu)點(diǎn)是A)入棧與退棧操作方便B)可以省略棧底指針C)入棧操作時(shí)不會(huì)受棧存儲(chǔ)空間的限制而發(fā)生溢出D)所占存儲(chǔ)空間相同C【解析】帶鏈的棧就是用一個(gè)線(xiàn)性鏈表來(lái)表示的棧,線(xiàn)性鏈表不受存儲(chǔ)空間大小的限制,因此入棧操作時(shí)不會(huì)受棧存儲(chǔ)空間的限制而發(fā)生溢出(不需考慮棧滿(mǎn)的問(wèn)題)。44.下列敘述中正確的是A)帶鏈棧的棧底指針是隨棧的操作而動(dòng)態(tài)變化的B)若帶鏈隊(duì)列的隊(duì)頭指針與隊(duì)尾指針相同,則隊(duì)列為空C)若帶鏈隊(duì)列的隊(duì)頭指針與隊(duì)尾指針相同,則隊(duì)列中至少有一個(gè)元素D)不管是順序棧還是帶鏈的棧,在操作過(guò)程中其棧底指針均是固定不變的A【解析】由于帶鏈棧利用的是計(jì)算機(jī)存儲(chǔ)空間中的所有空閑存儲(chǔ)結(jié)點(diǎn),因此隨棧的操作棧頂棧底指針動(dòng)態(tài)變化。帶鏈的隊(duì)列中若只有一個(gè)元素,則頭指針與尾指針相同。45.帶鏈棧空的條件是A)top=bottom=NULLB)top=-1
且
bottom=NULLC)top=NULL
且
bottom=-1D)top=bottom=-1A【解析】在帶鏈的棧中,只會(huì)出現(xiàn)??蘸头强諆煞N狀態(tài)。當(dāng)棧為空時(shí),有top=bottom=NULL;當(dāng)棧非空時(shí),top指向鏈表的第一個(gè)結(jié)點(diǎn)(棧頂)。46.在帶鏈棧中,經(jīng)過(guò)一系列正常的操作后,如果top=bottom,則棧中的元素個(gè)數(shù)為A)0
或
1B)0C)1D)棧滿(mǎn)A【解析】帶鏈棧就是沒(méi)有附加頭結(jié)點(diǎn)、運(yùn)算受限的單鏈表。棧頂指針就是鏈表的頭指針。如果棧底指針指向的存儲(chǔ)單元中存有一個(gè)元素,則當(dāng)top=bottom時(shí),棧中的元素個(gè)數(shù)為1;如果棧底指針指向的存儲(chǔ)單元中沒(méi)有元素,則當(dāng)top=bottom時(shí),棧中的元素個(gè)數(shù)為0。47.某帶鏈棧的初始狀態(tài)為top=bottom=NULL,經(jīng)過(guò)一系列正常的入棧與退棧操作后,top=bottom=20。該棧中的元素個(gè)數(shù)為A)0B)1C)20D)不確定B【解析】帶鏈的棧就是用一個(gè)單鏈表來(lái)表示的棧,棧中的每一個(gè)元素對(duì)應(yīng)鏈表中的一個(gè)結(jié)點(diǎn)。棧為空時(shí),頭指針和尾指針都為NULL;棧中只有一個(gè)元素時(shí),頭指針和尾指針都指向這個(gè)元素。48.某帶鏈棧的初始狀態(tài)為top=bottom=NULL,經(jīng)過(guò)一系列正常的入棧與退棧操作后,top=10,bottom=20。該棧中的元素個(gè)數(shù)為A)0B)1C)10D)不確定D【解析】帶鏈的棧使用了鏈表來(lái)表示棧,而鏈表中的元素存儲(chǔ)在不連續(xù)的地址中,因此當(dāng)top=10,bottom=20時(shí),不能確定棧中元素的個(gè)數(shù)。49.帶鏈隊(duì)列空的條件是A)front=rear=NULLB)front=-1
且
rear=NULLC)front=NULL
且
rear=-1D)front=rear=-1A【解析】帶鏈的隊(duì)列就是用一個(gè)單鏈表來(lái)表示的隊(duì)列,隊(duì)列中的每一個(gè)元素對(duì)應(yīng)鏈表中的一個(gè)結(jié)點(diǎn)。隊(duì)列空時(shí),頭指針和尾指針都為NULL。50.在帶鏈隊(duì)列中,經(jīng)過(guò)一系列正常的操作后,如果front=rear,則隊(duì)列中的元素個(gè)數(shù)為A)0B)1C)0
或
1D)隊(duì)列滿(mǎn)C【解析】帶鏈隊(duì)列空時(shí),頭指針和尾指針都為NULL;隊(duì)列中只有一個(gè)元素時(shí),頭指針和尾指針都指向這個(gè)元素。51.某帶鏈的隊(duì)列初始狀態(tài)為front=rear=NULL。經(jīng)過(guò)一系列正常的入隊(duì)與退隊(duì)操作后,front=rear=10。該隊(duì)列中的元素個(gè)數(shù)為A)0B)1C)1或0D)不確定B【解析】帶鏈隊(duì)列空時(shí),頭指針和尾指針都為null;隊(duì)列中只有一個(gè)元素時(shí),頭指針和尾指針都指向這個(gè)元素。52.某帶鏈的隊(duì)列初始狀態(tài)為front=rear=NULL。經(jīng)過(guò)一系列正常的入隊(duì)與退隊(duì)操作后,front=10,
rear=5。該隊(duì)列中的元素個(gè)數(shù)為A)4B)5C)6D)不確定D【解析】帶鏈的隊(duì)列使用了鏈表來(lái)表示隊(duì)列,而鏈表中的元素存儲(chǔ)在不連續(xù)的地址中,因此當(dāng)front=10,rear=5時(shí),不能確定隊(duì)列中元素的個(gè)數(shù)。53.下列敘述中錯(cuò)誤的是A)循環(huán)鏈表中有一個(gè)表頭結(jié)點(diǎn)B)循環(huán)鏈表是循環(huán)隊(duì)列的存儲(chǔ)結(jié)構(gòu)C)循環(huán)鏈表的表頭指針與循環(huán)鏈表中最后一個(gè)結(jié)點(diǎn)的指針均指向表頭結(jié)點(diǎn)D)循環(huán)鏈表實(shí)現(xiàn)了空表與非空表運(yùn)算的統(tǒng)一B【解析】循環(huán)鏈表是指在單鏈表的第一個(gè)結(jié)點(diǎn)前增加一個(gè)表頭結(jié)點(diǎn),隊(duì)頭指針指向表頭結(jié)點(diǎn),最后一個(gè)結(jié)點(diǎn)的指針域的值由NULL改為指向表頭結(jié)點(diǎn)。循環(huán)鏈表是線(xiàn)性表的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu)。54.從表中任何一個(gè)結(jié)點(diǎn)位置出發(fā)就可以不重復(fù)地訪(fǎng)問(wèn)到表中其他所有結(jié)點(diǎn)的鏈表是A)循環(huán)鏈表B)雙向鏈表C)單向鏈表D)二叉鏈表A【解析】在循環(huán)鏈表中,所有結(jié)點(diǎn)的指針構(gòu)成了一個(gè)環(huán)狀鏈,只要指出表中任何一個(gè)結(jié)點(diǎn)的位置,就可以從它出發(fā)不重復(fù)地訪(fǎng)問(wèn)到表中其他所有結(jié)點(diǎn)。55.非空循環(huán)鏈表所表示的數(shù)據(jù)結(jié)構(gòu)A)有根結(jié)點(diǎn)也有葉子結(jié)點(diǎn)B)沒(méi)有根結(jié)點(diǎn)但有葉子結(jié)點(diǎn)C)有根結(jié)點(diǎn)但沒(méi)有葉子結(jié)點(diǎn)D)沒(méi)有根結(jié)點(diǎn)也沒(méi)有葉子結(jié)點(diǎn)A【解析】循環(huán)鏈表表頭結(jié)點(diǎn)為根結(jié)點(diǎn),鏈表的最后一個(gè)結(jié)點(diǎn)為葉子節(jié)點(diǎn),雖然它含有一個(gè)指向表頭結(jié)點(diǎn)的指針,但是表頭結(jié)點(diǎn)并不是它的一個(gè)后件。56.下列結(jié)構(gòu)中為非線(xiàn)性結(jié)構(gòu)的是A)樹(shù)B)向量C)二維表D)矩陣A【解析】由定義可以知道,樹(shù)為一種簡(jiǎn)單的非線(xiàn)性結(jié)構(gòu)。在數(shù)這種數(shù)據(jù)結(jié)構(gòu)中,所有數(shù)據(jù)元素之間的關(guān)系具有明顯的層次特性。57.某棵樹(shù)中共有25個(gè)結(jié)點(diǎn),且只有度為3的結(jié)點(diǎn)和葉子結(jié)點(diǎn),其中葉子結(jié)點(diǎn)有7個(gè),則該樹(shù)中度為3的結(jié)點(diǎn)數(shù)為A)6B)7C)8D)不存在這樣的樹(shù)D【解析】根據(jù)題意,樹(shù)中只有度為3的結(jié)點(diǎn)和葉子結(jié)點(diǎn)(7個(gè)),則度為3的結(jié)點(diǎn)有25-7=18個(gè);又根據(jù)樹(shù)中的結(jié)點(diǎn)數(shù)=樹(shù)中所有結(jié)點(diǎn)的度之和+1,設(shè)度為3的結(jié)點(diǎn)數(shù)為n,則3n+1=25,得n=8。兩種方式得到的度為3的結(jié)點(diǎn)數(shù)不同,故不存在這樣的樹(shù)。58.某棵樹(shù)的度為4,且度為4、3、2、1的結(jié)點(diǎn)個(gè)數(shù)分別為1、2、3、4,則該樹(shù)中的葉子結(jié)點(diǎn)數(shù)為A)11B)9C)10D)8A【解析】設(shè)葉子結(jié)點(diǎn)數(shù)為n,根據(jù)樹(shù)中的結(jié)點(diǎn)數(shù)=樹(shù)中所有結(jié)點(diǎn)的度之和+1,得4×1+3×2+2×3+1×4+n×0+1=21,則n=21-1-2-3-4=11。59.設(shè)一棵樹(shù)的度為3,共有27個(gè)結(jié)點(diǎn),其中度為3,2,0的結(jié)點(diǎn)數(shù)分別為4,1,10。該樹(shù)中度為1的結(jié)點(diǎn)數(shù)為A)11B)12C)13D)不可能有這樣的樹(shù)B【解析】設(shè)度為1的結(jié)點(diǎn)數(shù)為n,根據(jù)樹(shù)中的結(jié)點(diǎn)數(shù)=樹(shù)中所有結(jié)點(diǎn)的度之和+1,得3×4+2×1+1×n+0×10+1=27,則n=12。60.設(shè)一棵度為3的樹(shù),其中度為2,1,0的結(jié)點(diǎn)數(shù)分別為3,1,6。該樹(shù)中度為3的結(jié)點(diǎn)數(shù)為A)1B)2C)3D)不可能有這樣的樹(shù)A【解析】設(shè)樹(shù)的結(jié)點(diǎn)數(shù)為n,則度為3的結(jié)點(diǎn)數(shù)為n-3-1-6=n-10,根據(jù)樹(shù)中的結(jié)點(diǎn)數(shù)=樹(shù)中所有結(jié)點(diǎn)的度之和+1,得3×(n-10)+2×3+1×1+0×6+1=n,解得n=11,則度為3的結(jié)點(diǎn)數(shù)為n-10=11-10=1。61.設(shè)一棵樹(shù)的度為3,其中沒(méi)有度為2的結(jié)點(diǎn),且葉子結(jié)點(diǎn)數(shù)為5。該樹(shù)中度為3的結(jié)點(diǎn)數(shù)為A)3B)1C)2D)不可能有這樣的樹(shù)C【解析】設(shè)樹(shù)的結(jié)點(diǎn)數(shù)為m,度為3的結(jié)點(diǎn)數(shù)為n,則度為1的結(jié)點(diǎn)數(shù)為m-n-5,根據(jù)樹(shù)中的結(jié)點(diǎn)數(shù)=樹(shù)中所有結(jié)點(diǎn)的度之和+1,得3×n+1×(m-n-5)+5×0+1=m,則n=2。62.度為3的一棵樹(shù)共有30個(gè)結(jié)點(diǎn),其中度為3,1的結(jié)點(diǎn)個(gè)數(shù)分別為3,4。則該樹(shù)中的葉子結(jié)點(diǎn)數(shù)為A)14B)15C)16D)不可能有這樣的樹(shù)B【解析】設(shè)葉子結(jié)點(diǎn)數(shù)為n,則度為2的結(jié)點(diǎn)數(shù)為30-3-4-n=23-n,根據(jù)樹(shù)中的結(jié)點(diǎn)數(shù)=樹(shù)中所有結(jié)點(diǎn)的度之和+1,得3×3+2×(23-n)+1×4+0×n+1=30,則n=15。63.設(shè)某棵樹(shù)的度為3,其中度為2,1,0的結(jié)點(diǎn)個(gè)數(shù)分別為3,4,15。則該樹(shù)中總結(jié)點(diǎn)數(shù)為A)不可能有這樣的樹(shù)B)30C)22D)35A【解析】設(shè)樹(shù)的總結(jié)點(diǎn)數(shù)為n,則度為3的結(jié)點(diǎn)數(shù)為n-3-4-15=n-22,根據(jù)樹(shù)中的結(jié)點(diǎn)數(shù)=樹(shù)中所有結(jié)點(diǎn)的度之和+1,得3×(n-22)+2×3+1×4+0×15+1=n,則n=27.5,求出的結(jié)點(diǎn)數(shù)不為整數(shù),故不可能有這樣的樹(shù)存在。64.某二叉樹(shù)共有845個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)有45個(gè),則度為1的結(jié)點(diǎn)數(shù)為A)400B)754C)756D)不確定C【解析】葉子結(jié)點(diǎn)有45個(gè),根據(jù)在二叉樹(shù)中度為0的結(jié)點(diǎn)(葉子結(jié)點(diǎn))總比度為2的結(jié)點(diǎn)多一個(gè),則度為2的結(jié)點(diǎn)數(shù)為44個(gè),因此度為1的結(jié)點(diǎn)數(shù)為845-45-44=756個(gè)。65.某二叉樹(shù)中有15個(gè)度為1的結(jié)點(diǎn),16個(gè)度為2的結(jié)點(diǎn),則該二叉樹(shù)中總的結(jié)點(diǎn)數(shù)為A)32B)46C)48D)49C【解析】根據(jù)在二叉樹(shù)中度為0的結(jié)點(diǎn)(葉子結(jié)點(diǎn))總比度為2的結(jié)點(diǎn)多一個(gè),得度為0的結(jié)點(diǎn)數(shù)為16+1=17個(gè),故總的結(jié)點(diǎn)數(shù)=17+15+16=48個(gè)。66.某二叉樹(shù)共有730個(gè)結(jié)點(diǎn),其中度為1的結(jié)點(diǎn)有30個(gè),則葉子結(jié)點(diǎn)個(gè)數(shù)為A)1B)351C)350D)不存在這樣的二叉樹(shù)D【解析】設(shè)葉子結(jié)點(diǎn)數(shù)為n,根據(jù)在二叉樹(shù)中度為0的結(jié)點(diǎn)(葉子結(jié)點(diǎn))總比度為2的結(jié)點(diǎn)多一個(gè),則度為2的結(jié)點(diǎn)數(shù)為n-1,n+n-1+30=730,得n=350.5。由于結(jié)點(diǎn)數(shù)只能為整數(shù),所以不存在這樣的二叉樹(shù)。67.某二叉樹(shù)中共有350個(gè)結(jié)點(diǎn),其中200個(gè)為葉子結(jié)點(diǎn),則該二叉樹(shù)中度為2的結(jié)點(diǎn)數(shù)為A)不可能有這樣的二叉樹(shù)B)150C)199D)149A【解析】葉子結(jié)點(diǎn)數(shù)為200,根據(jù)在二叉樹(shù)中度為0的結(jié)點(diǎn)(葉子結(jié)點(diǎn))總比度為2的結(jié)點(diǎn)多一個(gè),則度為2的結(jié)點(diǎn)數(shù)為199,199+200>350,故不存在這樣的二叉樹(shù)。68.某二叉樹(shù)的深度為7,其中有64個(gè)葉子結(jié)點(diǎn),則該二叉樹(shù)中度為1的結(jié)點(diǎn)數(shù)為A)0B)1C)2D)63A【解析】葉子結(jié)點(diǎn)有64個(gè),根據(jù)在二叉樹(shù)中度為0的結(jié)點(diǎn)(葉子結(jié)點(diǎn))總比度為2的結(jié)點(diǎn)多一個(gè),則度為2的結(jié)點(diǎn)數(shù)為63個(gè);又深度為m的二叉樹(shù)最多有2m-1個(gè)結(jié)點(diǎn),則該二叉樹(shù)最多有27-1=127個(gè)結(jié)點(diǎn)。64+63=127,因此該樹(shù)不存在度為1的結(jié)點(diǎn)。69.深度為7的二叉樹(shù)共有127個(gè)結(jié)點(diǎn),則下列說(shuō)法中錯(cuò)誤的是A)該二叉樹(shù)是滿(mǎn)二叉樹(shù)B)該二叉樹(shù)有一個(gè)度為1的結(jié)點(diǎn)C)該二叉樹(shù)是完全二叉樹(shù)D)該二叉樹(shù)有64個(gè)葉子結(jié)點(diǎn)B【解析】滿(mǎn)二叉樹(shù)滿(mǎn)足深度為m的二叉樹(shù)最多有2m-1個(gè)結(jié)點(diǎn),本題中二叉樹(shù)深度為7且有127個(gè)結(jié)點(diǎn),滿(mǎn)足27-1=127,達(dá)到最大值,故此二叉樹(shù)為滿(mǎn)二叉樹(shù),也是完全二叉樹(shù)。滿(mǎn)二叉樹(shù)第k層上有2k-1結(jié)點(diǎn),則該二叉樹(shù)的葉子結(jié)點(diǎn)數(shù)為27-1=64個(gè)。滿(mǎn)二叉樹(shù)不存在度為1的結(jié)點(diǎn)。70.深度為5的完全二叉樹(shù)的結(jié)點(diǎn)數(shù)不可能是A)15B)16C)17D)18A【解析】設(shè)完全二叉樹(shù)的結(jié)點(diǎn)數(shù)為n,根據(jù)深度為k的二叉樹(shù)至多有2k-1個(gè)結(jié)點(diǎn),再根據(jù)完全二叉樹(shù)的定義可知,2k-1-1<n≤2k-1。本題中完全二叉樹(shù)的深度為5,則25-1-1<n≤25-1,15<n≤31。因此,結(jié)點(diǎn)數(shù)不能為15。71.某完全二叉樹(shù)共有256個(gè)結(jié)點(diǎn),則該完全二叉樹(shù)的深度為A)7B)8C)9D)10C【解析】根據(jù)完全二叉樹(shù)的性質(zhì):具有n個(gè)結(jié)點(diǎn)的完全二叉樹(shù)的深度為[log2n]+1。本題中完全二叉樹(shù)共有256個(gè)結(jié)點(diǎn),則深度為[log2256]+1=8+1=9。72.深度為7的完全二叉樹(shù)中共有125個(gè)結(jié)點(diǎn),則該完全二叉樹(shù)中的葉子結(jié)點(diǎn)數(shù)為A)62B)63C)64D)65B【解析】在滿(mǎn)二叉樹(shù)的第k層上有2k-1個(gè)結(jié)點(diǎn)、且深度為m的滿(mǎn)二叉樹(shù)有2m-1個(gè)結(jié)點(diǎn),則深度為6的滿(mǎn)二叉樹(shù)共有26-1=63個(gè)結(jié)點(diǎn),第6層上有26-1=32個(gè)結(jié)點(diǎn)。本題是深度為7的完全二叉樹(shù),則前6層共有63個(gè)結(jié)點(diǎn),第7層的結(jié)點(diǎn)數(shù)為125-63=62個(gè)且全為葉子結(jié)點(diǎn)。由于第6層上有32個(gè)結(jié)點(diǎn),第7層上有62個(gè)結(jié)點(diǎn),則第6層上有1個(gè)結(jié)點(diǎn)無(wú)左右子樹(shù)(該結(jié)點(diǎn)為葉子結(jié)點(diǎn))。因此,該完全二叉樹(shù)中共有葉子結(jié)點(diǎn)62+1=63個(gè)。73.在具有2n個(gè)結(jié)點(diǎn)的完全二叉樹(shù)中,葉子結(jié)點(diǎn)個(gè)數(shù)為A)nB)n+1C)n-1D)n/2A【解析】由二叉樹(shù)的定義可知,樹(shù)中必定存在度為0的結(jié)點(diǎn)和度為2的結(jié)點(diǎn),設(shè)度為0結(jié)點(diǎn)有a個(gè),根據(jù)度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總比度為2的結(jié)點(diǎn)多一個(gè),得度為2的結(jié)點(diǎn)有a-1個(gè)。再根據(jù)完全二叉樹(shù)的定義,度為1的結(jié)點(diǎn)有0個(gè)或1個(gè),假設(shè)度1結(jié)點(diǎn)為0個(gè),a+0+a-1=2n,得2a=2n-1,由于結(jié)點(diǎn)個(gè)數(shù)必須為整數(shù),假設(shè)不成立;當(dāng)度為1的結(jié)點(diǎn)為1個(gè)時(shí),a+1+a-1=2n,得a=n,即葉子結(jié)點(diǎn)個(gè)數(shù)為n。74.下列數(shù)據(jù)結(jié)構(gòu)中為非線(xiàn)性結(jié)構(gòu)的是A)二叉鏈表B)循環(huán)隊(duì)列C)循環(huán)鏈表D)雙向鏈表A【解析】二叉樹(shù)的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)也稱(chēng)為二叉鏈表,二叉樹(shù)是樹(shù)的一種,屬于非線(xiàn)性結(jié)構(gòu)。75.下列敘述中正確的是A)非完全二叉樹(shù)可以采用順序存儲(chǔ)結(jié)構(gòu)B)有兩個(gè)指針域的鏈表就是二叉鏈表C)有的二叉樹(shù)也能用順序存儲(chǔ)結(jié)構(gòu)表示D)順序存儲(chǔ)結(jié)構(gòu)一定是線(xiàn)性結(jié)構(gòu)C【解析】在計(jì)算機(jī)中,二叉樹(shù)通常采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),但對(duì)于滿(mǎn)二叉樹(shù)和完全二叉樹(shù)來(lái)說(shuō),可以按層進(jìn)行順序存儲(chǔ)。因此A項(xiàng)錯(cuò)誤,C項(xiàng)正確。雖然滿(mǎn)二叉樹(shù)和完全二叉樹(shù)可以采用順序存儲(chǔ)結(jié)構(gòu),但仍是一種非線(xiàn)性結(jié)構(gòu),因此D項(xiàng)錯(cuò)誤。雙向鏈表也有兩個(gè)指針域,因此B項(xiàng)錯(cuò)誤。76.有二叉樹(shù)如下圖所示:則前序序列為A)ABDEGCFHB)DBGEAFHCC)DGEBHFCAD)ABCDEFGHA【解析】前序遍歷首先訪(fǎng)問(wèn)根結(jié)點(diǎn),然后遍歷左子樹(shù),最后遍歷右子樹(shù);在遍歷左、右子樹(shù)時(shí),仍然先訪(fǎng)問(wèn)根結(jié)點(diǎn),然后遍歷左子樹(shù),最后遍歷右子樹(shù)。故本題前序序列是ABDEGCFH。中序遍歷首先遍歷左子樹(shù),然后訪(fǎng)問(wèn)跟結(jié)點(diǎn),最后遍歷右子樹(shù);在遍歷左、右子樹(shù)時(shí),仍然先遍歷左子樹(shù),然后訪(fǎng)問(wèn)跟結(jié)點(diǎn),最后遍歷右子樹(shù)。故本題的中序序列是DBGEAFHC。后序遍歷首先遍歷左子樹(shù),然后遍歷右子樹(shù),最后訪(fǎng)問(wèn)根結(jié)點(diǎn);在遍歷左、右子樹(shù)時(shí),仍然先遍歷左子樹(shù),然后遍歷右子樹(shù),最后訪(fǎng)問(wèn)根結(jié)點(diǎn)。故本題的后序序列是DGEBHFCA。77.設(shè)二叉樹(shù)的前序序列為ABDEGHCFIJ,中序序列為DBGEHACIFJ。則后序序列為A)JIHGFEDCBAB)DGHEBIJFCAC)GHIJDEFBCAD)ABCDEFGHIJB【解析】二叉樹(shù)的前序序列為ABDEGHCFIJ,由于前序遍歷首先訪(fǎng)問(wèn)根結(jié)點(diǎn),可以確定該二叉樹(shù)的根結(jié)點(diǎn)是A。再由中序序列為DBGEHACIFJ,可以得到結(jié)點(diǎn)D、B、G、E、H位于根結(jié)點(diǎn)的左子樹(shù)上,結(jié)點(diǎn)C、I、F、J位于根結(jié)點(diǎn)的右子樹(shù)上。由于中序遍歷和后序遍歷都是先遍歷左子樹(shù),故本題后序遍歷首先訪(fǎng)問(wèn)D結(jié)點(diǎn);再由后序遍歷是最后訪(fǎng)問(wèn)根結(jié)點(diǎn),故本題后序遍歷最后訪(fǎng)問(wèn)的結(jié)點(diǎn)是根結(jié)點(diǎn)A。采用排除法可知,后續(xù)序列為DGHEBIJFCA。78.某二叉樹(shù)的中序遍歷序列為CBADE,后序遍歷序列為CBEDA,則前序遍歷序列為A)CBADEB)CBEDAC)ABCDED)EDCBAC【解析】二叉樹(shù)的后序遍歷序列為CBEDA,由于后序遍歷最后訪(fǎng)問(wèn)根結(jié)點(diǎn),可以確定該二叉樹(shù)的根結(jié)點(diǎn)是A。再由中序遍歷序列為CBADE,可以得到子序列(CB)一定在左子樹(shù)中,子序列(DE)一定在右子樹(shù)中。結(jié)點(diǎn)C、B在中序序列和后序序列中順序未變,說(shuō)明結(jié)點(diǎn)B是結(jié)點(diǎn)C的父結(jié)點(diǎn);結(jié)點(diǎn)D、E在中序序列和后序序列中順序相反,說(shuō)明結(jié)點(diǎn)D是結(jié)點(diǎn)E的父結(jié)點(diǎn)。因此該二叉樹(shù)的前序遍歷序列為ABCDE。79.某二叉樹(shù)的前序序列為ABCDEFG,中序序列為DCBAEFG,則該二叉樹(shù)的深度(根結(jié)點(diǎn)在第1層)為A)2B)3C)4D)5C【解析】二叉樹(shù)的前序序列為ABCDEFG,則A為根結(jié)點(diǎn);中序序列為DCBAEFG,可知結(jié)點(diǎn)D、C、B位于根結(jié)點(diǎn)的左子樹(shù)上,結(jié)點(diǎn)E、F、G位于根結(jié)點(diǎn)的右子樹(shù)上。另外,結(jié)點(diǎn)B、C、D在前序序列和中序序列中順序相反,則說(shuō)明這三個(gè)結(jié)點(diǎn)依次位于前一個(gè)結(jié)點(diǎn)的左子樹(shù)上;結(jié)點(diǎn)E、F、G順序未變,則說(shuō)明這三個(gè)結(jié)點(diǎn)依次位于前一個(gè)結(jié)點(diǎn)的右子樹(shù)上。故二叉樹(shù)深度為4。80.設(shè)二叉樹(shù)的前序序列與中序序列均為ABCDEFGH,則該二叉樹(shù)的后序序列為A)ABCDHGFEB)DCBAHGFEC)EFGHABCDD)HGFEDCBAD【解析】二叉樹(shù)的前序序列與中序序列均為ABCDEFGH,可知二叉樹(shù)根結(jié)點(diǎn)為A,且根結(jié)點(diǎn)A只有右子樹(shù),沒(méi)有左子樹(shù)。同理,可以推出結(jié)點(diǎn)B只有右子樹(shù)無(wú)左子樹(shù)。依此類(lèi)推,該二叉樹(shù)除葉子結(jié)點(diǎn)外,每個(gè)結(jié)點(diǎn)只有右子樹(shù)無(wú)左子樹(shù)。因此該二叉樹(shù)的后序序列為HGFEDCBA。81.某二叉樹(shù)的后序遍歷序列與中序遍歷序列相同,均為ABCDEF,則按層次輸出(同一層從左到右)的序列為A)CBAFEDB)FEDCBAC)DEFCBAD)ABCDEFB【解析】該二叉樹(shù)的后序遍歷序列與中序遍歷序列均為ABCDEF,則根結(jié)點(diǎn)為F;根結(jié)點(diǎn)F只有左子樹(shù),右子樹(shù)為空。即ABCDE是根結(jié)點(diǎn)F的右子樹(shù)集合。這樣問(wèn)題就轉(zhuǎn)化為就后序遍歷序列與中序遍歷序列均為ABCDE的子樹(shù),同理可得左子樹(shù)集合的根結(jié)點(diǎn)為E,且根結(jié)點(diǎn)只有左子樹(shù)右子樹(shù)。依次類(lèi)推,該二叉樹(shù)除葉子結(jié)點(diǎn)外,每個(gè)結(jié)點(diǎn)只有左子樹(shù)無(wú)右子樹(shù),結(jié)構(gòu)如下:按層次輸出(同一層從左到右)的序列為FEDCBA。82.某二叉樹(shù)的前序序列為ABDFHCEG,中序序列為HFDBACEG。該二叉樹(shù)按層次輸出(同一層從左到右)的序列為A)HGFEDCBAB)HFDBGECAC)ABCDEFGHD)ACEGBDFHC【解析】二叉樹(shù)的前序序列為ABDFHCEG,可以確定這個(gè)二叉樹(shù)的根結(jié)點(diǎn)是A;再由中序序列HFDBACEG,可以得到HFDB為根結(jié)點(diǎn)A的左子樹(shù),CEG為根結(jié)點(diǎn)A的右子樹(shù)。同理依次對(duì)左子樹(shù)HFDB和右子樹(shù)CEG進(jìn)行同樣的推理,得到該二叉樹(shù)的結(jié)構(gòu)如下:該二叉樹(shù)按層次輸出(同一層從左到右)的序列為ABCDEFGH。83.某完全二叉樹(shù)按層次輸出(同一層從左到右)的序列為ABCDEFGH。該完全二叉樹(shù)的前序序列為A)ABCDEFGHB)ABDHECFGC)HDBEAFCGD)HDEBFGCAB【解析】完全二叉樹(shù)的特點(diǎn)是除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值;在最后一層上只缺少右邊的若干結(jié)點(diǎn)。根據(jù)這一特點(diǎn),再根據(jù)題意輸出序列為ABCDEFGH,可以得到該二叉樹(shù)的結(jié)構(gòu)如下:故此完全二叉樹(shù)的前序序列為ABDHECFG。84.設(shè)非空二叉樹(shù)的所有子樹(shù)中,其左子樹(shù)上的結(jié)點(diǎn)值均小于根結(jié)點(diǎn)值,而右子樹(shù)上的結(jié)點(diǎn)值均不小于根結(jié)點(diǎn)值,則稱(chēng)該二叉樹(shù)為排序二叉樹(shù)。對(duì)排序二叉樹(shù)的遍歷結(jié)果為有序序列的是A)前序序列B)中序序列C)后序序列D)前序序列或后序序列B【解析】中序遍歷的次序是先遍歷左子樹(shù),再遍歷根結(jié)點(diǎn),最后遍歷右子樹(shù)。而在排序二叉樹(shù)中,左子樹(shù)結(jié)點(diǎn)值<根結(jié)點(diǎn)值≤右子樹(shù)結(jié)點(diǎn)值,要使對(duì)排序二叉樹(shù)的遍歷結(jié)果為有序序列,只能采用中序遍歷。85.設(shè)二叉樹(shù)中共有15個(gè)結(jié)點(diǎn),其中的結(jié)點(diǎn)值互不相同。如果該二叉樹(shù)的前序序列與中序序列相同,則該二叉樹(shù)的深度為A)4B)6C)15D)不存在這樣的二叉樹(shù)C【解析】在具有n個(gè)結(jié)點(diǎn)的二叉樹(shù)中,如果各結(jié)點(diǎn)值互不相同,若該二叉樹(shù)的前序序列與中序序列相同,則說(shuō)明該二叉樹(shù)只有右子樹(shù),左子樹(shù)為空,二叉樹(shù)的深度為n;若該二叉樹(shù)的后序序列與中序序列相同,則說(shuō)明該二叉樹(shù)只有左子樹(shù),右子樹(shù)為空,二叉樹(shù)的深度為n。故本題中二叉樹(shù)的深度為15。86.在長(zhǎng)度為n的順序表中查找一個(gè)元素,假設(shè)需要查找的元素一定在表中,并且元素出現(xiàn)在表中每個(gè)位置上的可能性是相同的,則在平均情況下需要比較的次數(shù)為A)n/4B)nC)3n/4D)(n+1)/2D【解析】在順序表中查找,最好情況下第一個(gè)元素就是要查找的元素,則比較次數(shù)為1;在最壞情況下,最后一個(gè)元素才是要找的元素,則比較次數(shù)為n。則平均比較次數(shù):(1+2+┉+n)/n=(n(n+1)/2)/n=(n+1)/2。87.在長(zhǎng)度為n的順序表中查找一個(gè)元素,假設(shè)需要查找的元素有一半的機(jī)會(huì)在表中,并且如果元素在表中,則出現(xiàn)在表中每個(gè)位置上的可能性是相同的。則在平均情況下需要比較的次數(shù)大約為A)nB)3n/4C)n/2D)n/4B【解析】在順序表中查找,最好情況下第一個(gè)元素就是要查找的元素,則比較次數(shù)為1;在最壞情況下,最后一個(gè)元素才是要找的元素,則比較次數(shù)為n。這是找到元素的情況。如果沒(méi)有找到元素,則要比較n次。因此,平均需要比較:找到元素的情況×12+未找到元素的情況×12=(1+2+┉+n)/n×12+n×12=88.下列算法中均以比較作為基本運(yùn)算,則平均情況與最壞情況下的時(shí)間復(fù)雜度相同的是A)在順序存儲(chǔ)的線(xiàn)性表中尋找最大項(xiàng)B)在順序存儲(chǔ)的線(xiàn)性表中進(jìn)行順序查找C)在順序存儲(chǔ)的有序表中進(jìn)行對(duì)分查找D)在鏈?zhǔn)酱鎯?chǔ)的有序表中進(jìn)行查找A【解析】尋找最大項(xiàng),無(wú)論如何都要查看所有的數(shù)據(jù),與數(shù)據(jù)原始排列順序沒(méi)有多大關(guān)系,無(wú)所謂最壞情況和最好情況,或者說(shuō)平均情況與最壞情況下的時(shí)間復(fù)雜度是相同的。而查找無(wú)論是對(duì)分查找還是順序查找,都與要找的數(shù)據(jù)和原始的數(shù)據(jù)排列情況有關(guān),最好情況是第1次查看的一個(gè)數(shù)據(jù)恰好是要找的數(shù)據(jù),只需要比較1次;如果沒(méi)有找到再查看下一個(gè)數(shù)據(jù),直到找到為止,最壞情況下是最后一次查看的數(shù)據(jù)才是要找的,順序查找和對(duì)分查找在最壞情況下比較次數(shù)分別是n和log2n,平均情況則是1~最壞情況的平均,因而是不同的。89.線(xiàn)性表的長(zhǎng)度為n。在最壞情況下,比較次數(shù)為n-1的算法是A)順序查找B)同時(shí)尋找最大項(xiàng)與最小項(xiàng)C)尋找最大項(xiàng)D)有序表的插入C【解析】順序查找要逐個(gè)查看所有元素,會(huì)比較n次。在最壞情況下,尋找最大項(xiàng)無(wú)論如何需要查看表中的所有元素,n個(gè)元素比較次數(shù)為n-1。同時(shí)尋找最大項(xiàng)和最小項(xiàng),需要為判斷較大值和較小值分別進(jìn)行比較,會(huì)有更多的比較次數(shù)。有序表的插入最壞情況下是插入到表中的最后一個(gè)元素的后面位置,則會(huì)比較n次。90.下列敘述中正確的是A)二分查找法只適用于順序存儲(chǔ)的有序線(xiàn)性表B)二分查找法適用于任何存儲(chǔ)結(jié)構(gòu)的有序線(xiàn)性表C)二分查找法適用于有序循環(huán)鏈表D)二分查找法適用于有序雙向鏈表A【解析】二分查找法(又稱(chēng)對(duì)分查找法)只適用于順序存儲(chǔ)的有序表。在此所說(shuō)的有序表是指線(xiàn)性表的中元素按值非遞減排列(即從小到大,但允許相鄰元素值相等)。91.設(shè)有序線(xiàn)性表的長(zhǎng)度為n,則在有序線(xiàn)性表中進(jìn)行二分查找,最壞情況下的比較次數(shù)為A)n(n-1)/2B)nC)nlog2nD)log2nD【解析】有序線(xiàn)性表的長(zhǎng)度為n,設(shè)被查找元素為x,則二分查找的方法如下:將x與線(xiàn)性表的中間項(xiàng)比較:若中間項(xiàng)的值等于x,則說(shuō)明查到,查找結(jié)束;若x小于中間項(xiàng)的值,則在線(xiàn)性表的前半部分(即中間項(xiàng)以前的部分)以相同的方法進(jìn)行查找;若x大于中間項(xiàng)的值,則在線(xiàn)性表的后半部分(即中間項(xiàng)以后的部分)以相同的方法進(jìn)行查找。這個(gè)過(guò)程一直進(jìn)行到查找成功或子表長(zhǎng)度為0(說(shuō)明線(xiàn)性表中沒(méi)有這個(gè)元素)為止。對(duì)于長(zhǎng)度為n的有序線(xiàn)性表,在最壞情況下,二分查找只需要比較log2n次。92.在長(zhǎng)度為97的順序有序表中作二分查找,最多需要的比較次數(shù)為A)48B)96C)7D)6C【解析】對(duì)于長(zhǎng)度為n的有序線(xiàn)性表,在最壞情況下,二分查找只需要比較log2n次。本題中n=97,最多需要的比較次數(shù)為log297,6<log297<7,故需要比較7次。93.設(shè)表的長(zhǎng)度為n。下列查找算法中,在最壞情況下,比較次數(shù)最少的是A)順序查找B)尋找最大項(xiàng)C)尋找最小項(xiàng)D)有序表的二分查找D【解析】在最壞情況下的比較次數(shù):順序查找為n,尋找最大項(xiàng)和最小項(xiàng)均為n-1,有序表的二分查找為log2n。94.設(shè)順序表的長(zhǎng)度為40,對(duì)該表進(jìn)行冒泡排序。在最壞情況下需要的比較次數(shù)為A)40B)41C)780D)820C【解析】對(duì)長(zhǎng)度為n的線(xiàn)性表排序,在最壞情況下,冒泡排序需要經(jīng)過(guò)n/2遍的從前住后的掃描和n/2遍的從后住前的掃描,需要比較的次數(shù)為n(n-1)/2。本題中n=40,故比較次數(shù)為40×(40-1)÷2=780。95.在快速排序法中,每經(jīng)過(guò)一次數(shù)據(jù)交換(或移動(dòng))后A)只能消除一個(gè)逆序B)能消除多個(gè)逆序C)不會(huì)產(chǎn)生新的逆序D)消除的逆序個(gè)數(shù)一定比新產(chǎn)生的逆序個(gè)數(shù)多B【解析】在一個(gè)排列中,如果一對(duì)數(shù)的前后位置與大小順序相反,即前面的數(shù)大于后面的數(shù),那么它們就稱(chēng)為一個(gè)逆序??焖倥判虻乃枷胧牵簭木€(xiàn)性表中選取一個(gè)元素,設(shè)為T(mén),將線(xiàn)性表中后面小于T的元素移到前面,而前面大于T的元素移到后面,結(jié)果就將線(xiàn)性表分成兩部分(稱(chēng)兩個(gè)子表),T插入到其分割線(xiàn)的位置處,這個(gè)過(guò)程稱(chēng)為線(xiàn)性表的分割,然后再用同樣的方法對(duì)分割出的子表再進(jìn)行同樣的分割??焖倥判虿皇菍?duì)兩個(gè)相鄰元素進(jìn)行比較,可以實(shí)線(xiàn)通過(guò)一次交換而消除多個(gè)逆序,但由于均與T(基準(zhǔn)元素)比較,也可能會(huì)產(chǎn)生新的逆序。96.設(shè)表的長(zhǎng)度為15。則在最壞情況下,快速排序所需要的比較次數(shù)為A)75B)55C)15D)105D【解析】快速排序在最壞情況下需要進(jìn)行n(n-1)/2次比較,但實(shí)際的排序效率要比冒泡排序高得多。本題中n=15,15×(15-1)÷2=105。97.設(shè)順序表的長(zhǎng)度為16,對(duì)該表進(jìn)行簡(jiǎn)單插入排序。在最壞情況下需要的比較次數(shù)為A)120B)60C)30D)15A【解析】簡(jiǎn)單插入排序在最壞情況下,即初始排序序列是逆序的情況下,比較次數(shù)為n(n-1)/2,移動(dòng)次數(shù)為n(n-1)/2。本題中n=16,16×(16-1)÷2=8×15=120。98.在希爾排序法中,每經(jīng)過(guò)一次數(shù)據(jù)交換后A)不會(huì)產(chǎn)生新的逆序B)只能消除一個(gè)逆序C)能消除多個(gè)逆序D)消除的逆序個(gè)數(shù)一定比新產(chǎn)生的逆序個(gè)數(shù)多C【解析】希爾排序法的基本思想是:將整個(gè)無(wú)序序列分割成若干小的子序列分別進(jìn)行插入排序。在子序列中每進(jìn)行一次比較就有可能移去整個(gè)線(xiàn)性表中的多個(gè)逆序,從而改善整個(gè)排序過(guò)程的性能。99.下列序列中不滿(mǎn)足堆條件的是A)(98,95,93,94,89,90,76,80,55,49)B)(98,95,93,94,89,85,76,64,55,49)C)(98,95,93,94,89,90,76,64,55,49)D)(98,95,93,96,89,85,76,64,55,49)D【解析】根據(jù)堆的定義,n個(gè)元素的序列(h1,h2,…h(huán)n),當(dāng)且僅當(dāng)hi≤h2i且hi≤h2i+1時(shí)為小頂堆,當(dāng)且僅當(dāng)hi≥h2i且hi≥h2i+1時(shí)為大頂堆。D項(xiàng)中,h2=95,h4=96,h2<h4,但h5=89,h2>h5,不滿(mǎn)足小頂堆和大頂堆條件。100.在最壞情況下,堆排序的時(shí)間復(fù)雜度是A)O(log2n)B)O(nlog2n)C)O(n2)D)O(n1.5)B【解析】堆排序的方法對(duì)于規(guī)模較小的線(xiàn)性表并不合適,但對(duì)于較大規(guī)模的線(xiàn)性表來(lái)說(shuō)是很有效的。在最壞情況下,堆排序需要比較次數(shù)為nlog2n,時(shí)間復(fù)雜度為O(nlog2n)。101.設(shè)順序表的長(zhǎng)度為n。下列算法中,最壞情況下比較次數(shù)等于n(n-1)/2的是A)快速排序B)堆排序C)順序查找D)尋找最大項(xiàng)A【解析】對(duì)于長(zhǎng)度為n的線(xiàn)性表,最壞情況下查找或排序的次數(shù)如下表:最壞情況下查找或比較次數(shù)時(shí)間復(fù)雜的順序查找nO(n)需找最大項(xiàng)或最小項(xiàng)n-1O(n-1)二分查找法log2nO(log2n)冒泡排序法n(n-1)/2O(n(n-1)/2)快速排序法n(n-1)/2O(n(n-1)/2)簡(jiǎn)單插入排序法n(n-1)/2O(n(n-1)/2)希爾排序法nr(1<r<2)O(n1.5))簡(jiǎn)單選擇排序法n(n-1)/2O(n(n-1)/2)堆排序nlog2nO(nlog2n)102.下列各組排序法中,最壞情況下比較次數(shù)相同的是A)簡(jiǎn)單選擇排序與堆排序B)簡(jiǎn)單插入排序與希爾排序C)冒泡排序與快速排序D)希爾排序與堆排序C【解析】最壞情況下比較次數(shù):簡(jiǎn)單選擇排序?yàn)閚(n-1)/2,堆排序?yàn)閚log2n,簡(jiǎn)單插入排序?yàn)閚(n-1)/2,希爾排序?yàn)閚r(1<r<2),冒泡排序?yàn)閚(n-1)/2,快速排序?yàn)閚(n-1)/2。故比較次數(shù)相同的是冒泡排序與快速排序。103.下列排序方法中,最壞情況下時(shí)間復(fù)雜度(即比較次數(shù))最低的是A)快速排序B)希爾排序C)簡(jiǎn)單插入排序D)冒泡排序B【解析】最壞情況下,希爾排序需要比較nr(1<r<2)次,快速排序、簡(jiǎn)單插入排序、冒泡排序均需要比較n(n-1)/2次,故希爾排序時(shí)間復(fù)雜度最低。104.下列各排序法中,最壞情況下的時(shí)間復(fù)雜度最低的是A)堆排序B)快速排序C)希爾排序D)冒泡排序A【解析】最壞情況下,堆排序需要比較nlog2n次,希爾排序需要比較nr(1<r<2)次,快速排序、冒泡排序均需要比較n(n-1)/2次。故堆排序時(shí)間復(fù)雜度最低。105.下面屬于良好程序設(shè)計(jì)風(fēng)格的是A)源程序文檔化B)程序效率第一C)隨意使用無(wú)條件轉(zhuǎn)移語(yǔ)句D)程序輸入輸出的隨意性A【解析】要形成良好的程序設(shè)計(jì)風(fēng)格,主要應(yīng)注意和考慮:源程序文檔化;數(shù)據(jù)說(shuō)明的次序規(guī)范化,說(shuō)明語(yǔ)句中變量安排有序化,使用注釋來(lái)說(shuō)明復(fù)雜數(shù)據(jù)的結(jié)構(gòu);程序編寫(xiě)要做到清晰第一、效率第二,先保證程序正確再要求提高速度,避免不必要的轉(zhuǎn)移;對(duì)所有的輸入數(shù)據(jù)都要進(jìn)行檢驗(yàn),確保輸入數(shù)據(jù)的合法性。106.下面不屬于結(jié)構(gòu)化程序設(shè)計(jì)原則的是A)逐步求精B)自頂向下C)模塊化D)可繼承性D【解析】結(jié)構(gòu)化程序設(shè)計(jì)方法的原則包括:自頂向下、逐步求精、模塊化、限制使用goto語(yǔ)句??衫^承性是面向?qū)ο蠓椒ǖ奶攸c(diǎn)。107.結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格強(qiáng)調(diào)的是A)程序的執(zhí)行效率B)程序的易讀性C)不考慮goto語(yǔ)句的限制使用D)程序的可移植性B【解析】按結(jié)構(gòu)化程序設(shè)計(jì)方法設(shè)計(jì)出的程序清晰易讀,可理解性好,程序員能夠進(jìn)行逐步求精、程序證明和測(cè)試,以確保程序的正確性,程序容易閱讀并被人理解,便于用戶(hù)使用和維護(hù)??梢?jiàn)結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格強(qiáng)調(diào)的是易讀性。108.結(jié)構(gòu)化程序的三種基本控制結(jié)構(gòu)是A)順序、選擇和調(diào)用B)過(guò)程、子程序和分程序C)順序、選擇和重復(fù)(循環(huán))D)調(diào)用、返回和轉(zhuǎn)移C【解析】1966年Boehm和Jacopini證明了程序設(shè)計(jì)語(yǔ)言?xún)H僅使用順序、選擇和重復(fù)三種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。109.不屬于對(duì)象構(gòu)成成份的是A)規(guī)則B)屬性C)方法(或操作)D)標(biāo)識(shí)A【解析】對(duì)象由一組表示其靜態(tài)特征的屬性和它執(zhí)行的一組操作組成,對(duì)象名唯一標(biāo)識(shí)一個(gè)對(duì)象。110.下面對(duì)“對(duì)象”概念描述正確的是A)屬性就是對(duì)象B)操作是對(duì)象的動(dòng)態(tài)屬性C)任何對(duì)象都必須有繼承性D)對(duì)象是對(duì)象名和方法的封裝體B【解析】對(duì)象是由描述該對(duì)象屬性的數(shù)據(jù)以及可以對(duì)這些數(shù)據(jù)施加的所有操作封裝在一起構(gòu)成的統(tǒng)一體。對(duì)象可以做的操作表示它的動(dòng)態(tài)行為,通常也稱(chēng)為方法或服務(wù),屬性即對(duì)象所包含的信息。對(duì)象可以有繼承性,但并不是任何對(duì)象都必須有繼承性。111.下面不屬于對(duì)象主要特征的是A)對(duì)象唯一性B)對(duì)象分類(lèi)性C)對(duì)象多態(tài)性D)對(duì)象可移植性D【解析】對(duì)象有如下一些基本特點(diǎn):①標(biāo)識(shí)唯一性:指對(duì)象是可區(qū)分的,并且由對(duì)象的內(nèi)在本質(zhì)來(lái)區(qū)分,而不是通過(guò)描述來(lái)區(qū)分。②分類(lèi)性:指可以將具有相同屬性和操作的對(duì)象抽象成類(lèi)。③多態(tài)性:指同一個(gè)操作可以是不同對(duì)象的行為,不同對(duì)象執(zhí)行同一類(lèi)操作產(chǎn)生不同的結(jié)果。④封裝性:從外面看只能看到對(duì)象的外部特征,對(duì)象的內(nèi)部對(duì)外是不可見(jiàn)的。⑤模塊獨(dú)立性好。112.將自然數(shù)集設(shè)為整數(shù)類(lèi)I,則下面屬于類(lèi)I實(shí)例的是A)-518B)5.18C)518D)518E-2C【解析】類(lèi)是具有共同屬性、共同方法的對(duì)象的集合。類(lèi)是對(duì)象的抽象,它描述了屬于該對(duì)象類(lèi)型的所有對(duì)象的性質(zhì),而一個(gè)對(duì)象則是其對(duì)應(yīng)類(lèi)的一個(gè)實(shí)例。自然數(shù)集是全體非負(fù)整數(shù)組成的集合,A項(xiàng)是負(fù)數(shù)實(shí)例,B項(xiàng)是浮點(diǎn)數(shù)實(shí)例,D項(xiàng)是用科學(xué)計(jì)數(shù)法表示的浮點(diǎn)數(shù)實(shí)例。113.下面敘述中正確的是A)軟件是程序、數(shù)據(jù)及相關(guān)文檔的集合B)軟件中的程序和文檔是可執(zhí)行的C)軟件中的程序和數(shù)據(jù)是不可執(zhí)行的D)軟件是程序和數(shù)據(jù)的集合A【解析】計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)及相關(guān)文檔的完成集合。程序、數(shù)據(jù)和相關(guān)文檔又稱(chēng)為軟件的三要素。114.下面對(duì)軟件描述錯(cuò)誤的是A)文檔是不可執(zhí)行的B)程序和數(shù)據(jù)是可執(zhí)行的C)軟件文檔是與程序開(kāi)發(fā)、維護(hù)和應(yīng)用無(wú)關(guān)的資料D)軟件是程序、數(shù)據(jù)及相關(guān)文檔的集合C【解析】軟件是程序、數(shù)據(jù)及相關(guān)文檔的集合。其中,程序是軟件開(kāi)發(fā)人員根據(jù)用戶(hù)需求開(kāi)發(fā)的、用程序設(shè)計(jì)語(yǔ)言描述的、適合計(jì)算機(jī)執(zhí)行的指令(語(yǔ)句)序列;數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開(kāi)發(fā)、維護(hù)和使用有關(guān)的圖文資料。可見(jiàn),軟件有兩部分組成:一是機(jī)器可執(zhí)行的程序和數(shù)據(jù);二是機(jī)器不可執(zhí)行的文檔。115.下面對(duì)軟件特點(diǎn)描述正確的是A)軟件具有明顯的制作過(guò)程B)軟件在使用中存在磨損、老化問(wèn)題C)軟件復(fù)制不涉及知識(shí)產(chǎn)權(quán)D)軟件是一種邏輯實(shí)體,具有抽象性D【解析】軟件具有以下特點(diǎn):軟件是一種邏輯實(shí)體,而不是物理實(shí)體,具有抽象性;軟件的生產(chǎn)與硬件不同,它沒(méi)有明顯的制作過(guò)程;軟件在運(yùn)行、使用期間不存在磨損、老化問(wèn)題;軟件的開(kāi)發(fā)、運(yùn)行對(duì)硬件和環(huán)境具有依賴(lài)性;軟件復(fù)雜性高,成本昂貴;軟件開(kāi)發(fā)涉及諸多的社會(huì)因素(包括軟件知識(shí)產(chǎn)權(quán)及法律等問(wèn)題)。116.下面屬于系統(tǒng)軟件的是A)UNIX系統(tǒng)B)ERP系統(tǒng)C)辦公自動(dòng)化系統(tǒng)D)學(xué)生成績(jī)管理系統(tǒng)A【解析】軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。系統(tǒng)軟件是管理計(jì)算機(jī)的資源,提高計(jì)算機(jī)使用效率并服務(wù)于其他程序的軟件,如操作系統(tǒng),編譯程序,匯編程序,數(shù)據(jù)庫(kù)管理系統(tǒng)和網(wǎng)絡(luò)軟件等。UNIX系統(tǒng)屬于操作系統(tǒng),故屬于系統(tǒng)軟件。ERP系統(tǒng)、辦公自動(dòng)化系統(tǒng)、學(xué)生成績(jī)管理系統(tǒng)屬于應(yīng)用軟件。117.下面屬于應(yīng)用軟件的是A)編譯程序B)Android操作系統(tǒng)C)匯編程序D)財(cái)務(wù)報(bào)表統(tǒng)計(jì)軟件D【解析】應(yīng)用軟件是為解決特定領(lǐng)域的應(yīng)用而開(kāi)發(fā)的軟件。例如,事務(wù)處理軟件,工程與科學(xué)計(jì)算軟件,實(shí)時(shí)處理軟件,嵌入式軟件,人工智能軟件等應(yīng)用性質(zhì)不同的各種軟件。編譯程序、Android操作系統(tǒng)、匯編程序?qū)儆谙到y(tǒng)軟件,財(cái)務(wù)報(bào)表統(tǒng)計(jì)屬于應(yīng)用軟件。118.下面屬于工具(支撐)軟件的是A)IOS系統(tǒng)B)數(shù)據(jù)庫(kù)管理系統(tǒng)C)財(cái)務(wù)管理系統(tǒng)D)Studio.NETD【解析】支撐軟件是介于系統(tǒng)軟件和應(yīng)用軟件之間,協(xié)助用戶(hù)開(kāi)發(fā)的工具性軟件,包括輔助和支持開(kāi)發(fā)和維護(hù)應(yīng)用軟件的工具軟件,如需求分析軟件,設(shè)計(jì)工具軟件,編碼工具軟件,測(cè)試工具軟件,維護(hù)工具軟件等,也包括輔助管理人員控制開(kāi)發(fā)進(jìn)程和項(xiàng)目管理的工具軟件,如計(jì)劃進(jìn)度管理工具軟件,過(guò)程控制工具軟件,質(zhì)量管理及配置管理工具軟件等。IOS系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)屬于系統(tǒng)軟件,財(cái)務(wù)管理系統(tǒng)屬于應(yīng)用軟件,Studio.NET屬于支撐軟件。119.下列敘述中正確的是A)軟件工程是為了解決軟件生產(chǎn)率問(wèn)題B)軟件工程的三要素是方法、工具和進(jìn)程C)軟件工程是用于軟件的定義、開(kāi)發(fā)和維護(hù)的方法D)軟件工程是用工程、科學(xué)和數(shù)學(xué)的原則與方法研制、維護(hù)計(jì)算機(jī)軟件的有關(guān)技術(shù)及管理方法D【解析】軟件工程是試圖用工程、科學(xué)和數(shù)學(xué)的原理與方法研制、維護(hù)計(jì)算機(jī)軟件的有關(guān)技術(shù)及管理方法,是應(yīng)用于計(jì)算機(jī)軟件的定義、開(kāi)發(fā)和維護(hù)的一整套方法、工具、文檔、實(shí)踐標(biāo)準(zhǔn)和工序。軟件工程的目標(biāo)是在給定成本、進(jìn)度的前提下,開(kāi)發(fā)出具有有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿(mǎn)足用戶(hù)需求的產(chǎn)品,追求這些目標(biāo)有助于提高軟件產(chǎn)品的質(zhì)量和開(kāi)發(fā)效率,減少維護(hù)的困難。軟件工程包含3個(gè)要素:方法、工具和過(guò)程。120.下列敘述中正確的是A)軟件過(guò)程是軟件開(kāi)發(fā)過(guò)程B)軟件過(guò)程是軟件維護(hù)過(guò)程C)軟件過(guò)程是軟件開(kāi)發(fā)過(guò)程和軟件維護(hù)過(guò)程D)軟件過(guò)程是把輸入轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動(dòng)D【解析】軟件過(guò)程是把輸入轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動(dòng)。軟件過(guò)程是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。軟件過(guò)程所進(jìn)行的基本活動(dòng)主要有軟件規(guī)格說(shuō)明、軟件開(kāi)發(fā)或軟件設(shè)計(jì)與實(shí)線(xiàn)、軟件確認(rèn)、軟件演進(jìn)。在過(guò)程結(jié)束時(shí),將輸入(用戶(hù)要求)轉(zhuǎn)化為輸出(軟件產(chǎn)品)。121.軟件生命周期是指A)軟件的運(yùn)行和維護(hù)B)軟件的需求分析、設(shè)計(jì)與實(shí)現(xiàn)C)軟件的實(shí)現(xiàn)和維護(hù)D)軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程D【解析】通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程稱(chēng)為軟件生命周期。也就是說(shuō),軟件產(chǎn)品從考慮其概念開(kāi)始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。122.軟件生命周期可分為定義階段、開(kāi)發(fā)階段和維護(hù)階段,下面屬于定義階段任務(wù)的是A)軟件設(shè)計(jì)B)軟件測(cè)試C)可行性研究D)數(shù)據(jù)庫(kù)設(shè)計(jì)C【解析】軟件生命周期可分為定義階段、開(kāi)發(fā)階段和維護(hù)階段。軟件定義階段的任務(wù)是:確定軟件開(kāi)發(fā)工作必須完成的目標(biāo);確定工程的可行性。軟件開(kāi)發(fā)階段的任務(wù)是:具體完成設(shè)計(jì)和實(shí)現(xiàn)定義階段所定義的軟件,通常包括總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試。其中總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)又稱(chēng)為系統(tǒng)設(shè)計(jì),編碼和測(cè)試又稱(chēng)為系統(tǒng)實(shí)現(xiàn)。軟件維護(hù)階段的任務(wù)是:使軟件在運(yùn)行中持久地滿(mǎn)足用戶(hù)的需要。123.軟件生存周期中,解決軟件“做什么”的階段是A)需求分析B)軟件設(shè)計(jì)C)軟件實(shí)現(xiàn)D)可行性研究A【解析】軟工生命周期可細(xì)化為可行性研究和計(jì)劃制定、需求分析、軟件設(shè)計(jì)(總體設(shè)計(jì)和詳細(xì)設(shè)計(jì))、編碼、軟件測(cè)試、運(yùn)行和維護(hù)等階段。需求分析是對(duì)待開(kāi)發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)定義,是解決軟件“做什么”的階段。124.軟件生命周期中,確定軟件系統(tǒng)"怎么做"的階段是A)軟件測(cè)試B)軟件設(shè)計(jì)C)系統(tǒng)維護(hù)D)需求分析B【解析】軟件設(shè)計(jì)是系統(tǒng)設(shè)計(jì)人員和程序設(shè)計(jì)人員在反復(fù)理解軟件需求的基礎(chǔ)上,給出軟件的結(jié)構(gòu)、模塊的劃分、功能的分配以及處理流程,是解決軟件“怎么做”的階段。125.軟件需求分析階段的主要任務(wù)是A)確定軟件開(kāi)發(fā)方法B)確定軟件開(kāi)發(fā)工具C)確定軟件開(kāi)發(fā)計(jì)劃D)確定軟件系統(tǒng)的功能D【解析】軟件需求是指用戶(hù)對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求的過(guò)程。126.下面描述中不屬于軟件需求分析階段任務(wù)的是A)撰寫(xiě)軟件需求規(guī)格說(shuō)明書(shū)B(niǎo))軟件的總體結(jié)構(gòu)設(shè)計(jì)C)軟件的需求分析D)軟件的需求評(píng)審B【解析】需求分析階段的工作可以分為4個(gè)方面:需求獲取、需求分析、編寫(xiě)需求規(guī)格說(shuō)明書(shū)和需求評(píng)審。軟件的總體結(jié)構(gòu)設(shè)計(jì)屬于軟件設(shè)計(jì)階段的任務(wù)。127.下面不屬于軟件需求規(guī)格說(shuō)明書(shū)內(nèi)容的是A)軟件的可驗(yàn)證性B)軟件的功能需求C)軟件的性能需求D)軟件的外部接口A(yíng)【解析】軟件需求規(guī)格說(shuō)明應(yīng)重點(diǎn)描述軟件的目的,軟件的功能需求、性能需求、外部接口、屬性及約束條件等。128.下面可以作為軟件需求分析工具的是A)N-S圖B)程序流程圖C)PAD圖D)數(shù)據(jù)流程圖(DFD圖)D【解析】常見(jiàn)的需求分析方法有結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆治龇椒?。結(jié)構(gòu)化分析方法工具包括數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定表和判定樹(shù)等。程序流程圖、N-S圖、PAD圖屬于軟件設(shè)計(jì)階段使用的工具。129.數(shù)據(jù)流圖(DFD)中的有向箭頭(→)表示A)控制流B)數(shù)據(jù)流
C)輸入流
D)輸出流B【解析】數(shù)據(jù)流圖中的主要圖形元素與說(shuō)明如下:加工(轉(zhuǎn)換):輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出。數(shù)據(jù)流:沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)據(jù)流名。存儲(chǔ)文件:表示處理過(guò)程中存放各種數(shù)據(jù)的文件。數(shù)據(jù)的原點(diǎn)和終點(diǎn):表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體。130.下列數(shù)據(jù)流圖(DFD)構(gòu)造規(guī)則中正確的是A)子圖的輸入輸出數(shù)據(jù)流與父圖中相關(guān)加工的輸入輸出數(shù)據(jù)流必須一致B)“數(shù)據(jù)存儲(chǔ)”間應(yīng)有數(shù)據(jù)流C)“數(shù)據(jù)流”可不帶有數(shù)據(jù)流名
D)父圖子圖是指任意上下層的兩個(gè)數(shù)據(jù)流圖A【解析】數(shù)據(jù)流圖應(yīng)遵循以下構(gòu)造規(guī)則和注意事項(xiàng):①對(duì)加工處理建立唯一、層次性的編號(hào),且每個(gè)加工處理通常要求既有輸入又有輸出。②數(shù)據(jù)存儲(chǔ)之間不應(yīng)有數(shù)據(jù)流。③數(shù)據(jù)流圖的一致性。即輸入輸出、讀寫(xiě)的對(duì)應(yīng)。④父圖、子圖關(guān)系與平衡規(guī)則。相鄰兩層DFD之間具有父子關(guān)系,子圖代表了父圖中某個(gè)加式的詳細(xì)描述,父圖表示了子圖間的接口。子圖個(gè)數(shù)不大于父圖中的處理個(gè)數(shù)。所有子圖的輸入輸出數(shù)據(jù)流和父圖中相應(yīng)處理的輸入輸出數(shù)據(jù)流必須一致。131.軟件設(shè)計(jì)一般劃分為兩個(gè)階段,兩個(gè)階段依次是A)數(shù)據(jù)設(shè)計(jì)和接口設(shè)計(jì)B)算法設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì)C)界面設(shè)計(jì)和結(jié)構(gòu)設(shè)計(jì)D)總體設(shè)計(jì)(概要設(shè)計(jì))和詳細(xì)設(shè)計(jì)D【解析】從工程管理角度來(lái)看,軟件設(shè)計(jì)分兩步完成:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。從技術(shù)觀(guān)點(diǎn)來(lái)看,軟件設(shè)計(jì)包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)和過(guò)程設(shè)計(jì)。132.對(duì)軟件設(shè)計(jì)中應(yīng)遵循的準(zhǔn)則描述正確的是A)高耦合低內(nèi)聚B)高內(nèi)聚低耦合C)模塊獨(dú)立性?xún)H與內(nèi)聚度相關(guān)D)內(nèi)聚與耦合無(wú)關(guān)B【解析】軟件設(shè)計(jì)應(yīng)遵循的準(zhǔn)則有抽象、逐步求精和模塊化、信息隱蔽和局部化、模塊獨(dú)立性(高內(nèi)聚低耦合)。133.下面描述錯(cuò)誤的是A)模塊的獨(dú)立性與模塊的信息隱蔽和局部化無(wú)關(guān)B)內(nèi)聚性和耦合性是模塊獨(dú)立程度的定性度量標(biāo)準(zhǔn)C)一個(gè)模塊的內(nèi)聚性越高則該模塊的獨(dú)立性越強(qiáng)D)一個(gè)模塊的耦合性越高則該模塊的獨(dú)立性越弱A【解析】模塊獨(dú)立性的概念是抽象、模塊化、信息隱蔽和局部化的直接結(jié)果。模塊的獨(dú)立性程度是評(píng)價(jià)設(shè)計(jì)好壞的重要程度標(biāo)準(zhǔn),有兩個(gè)定性標(biāo)準(zhǔn)度量,及模塊間的耦合性和模塊內(nèi)的內(nèi)聚性。耦合性是模塊間互相連接的緊密程度的度量。一個(gè)模塊的耦合性越高則該模塊的獨(dú)立性越弱。內(nèi)聚性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度。一個(gè)模塊的內(nèi)聚性越高則該模塊的獨(dú)立性越強(qiáng)。好的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚、低耦合。134.軟件系統(tǒng)總體結(jié)構(gòu)圖的作用是A)描述軟件系統(tǒng)結(jié)構(gòu)的圖形工具B)描述軟件系統(tǒng)的控制流
C)描述軟件系統(tǒng)的數(shù)據(jù)流
D)描述軟件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)A【解析】結(jié)構(gòu)圖是描述軟件系統(tǒng)結(jié)構(gòu)的圖形工具,描述了軟件系統(tǒng)的層次和分塊結(jié)構(gòu)關(guān)系,它反映了整個(gè)系統(tǒng)的功能實(shí)現(xiàn)以及模塊與模塊之間的聯(lián)系與通信,是未來(lái)程序中的控制層次體系。135.對(duì)軟件系統(tǒng)總體結(jié)構(gòu)圖,下面描述中錯(cuò)誤的是A)深度等于控制的層數(shù)B)扇入是一個(gè)模塊直接調(diào)用的其他模塊數(shù)C)扇出是一個(gè)模塊直接調(diào)用的其他模塊數(shù)D)原子模塊一定是結(jié)構(gòu)圖中位于葉子節(jié)點(diǎn)的模塊B【解析】與結(jié)構(gòu)圖有關(guān)的術(shù)語(yǔ)如下:深度:表示控制的層數(shù)。上級(jí)模塊、從屬模塊:上、下兩層模塊a和b,且有a調(diào)用b,則a是上級(jí)模塊,b是從屬模塊。寬度:整體控制跨度(最大模塊數(shù)的層)的表示。扇入:調(diào)用一個(gè)給定模塊的模塊個(gè)數(shù)。扇出:由一個(gè)模塊直接調(diào)用的其他模塊數(shù)。原子模塊:樹(shù)中位于葉子結(jié)點(diǎn)的模塊。136.某系統(tǒng)總體結(jié)構(gòu)如下圖所示
該系統(tǒng)結(jié)構(gòu)圖是A)層次結(jié)構(gòu)B)網(wǎng)狀結(jié)構(gòu)
C)分支結(jié)構(gòu)
D)循環(huán)結(jié)構(gòu)A【解析】軟件設(shè)計(jì)中使用結(jié)構(gòu)圖描述軟件系統(tǒng)的層次和分塊結(jié)構(gòu)關(guān)系,故結(jié)構(gòu)圖也稱(chēng)為層次結(jié)構(gòu)圖。137.某系統(tǒng)結(jié)構(gòu)圖如下圖所示該系統(tǒng)結(jié)構(gòu)圖的深度是A)1B)2C)3D)4D【解析】深度表示控制的層數(shù)。本題中,“某系統(tǒng)”為第1層,“功能1、功能2…功能n”為第二層,“功能2.1、功能2.2、功能2.3、功能n.1、功能n.2”為第3層,“功能2.2.1、功能2.2.2”為第4層,共4層,故深度為4。138.某系統(tǒng)總體結(jié)構(gòu)如下圖所示
該系統(tǒng)結(jié)構(gòu)圖的寬度是A)2B)3C)4D)5D【解析】寬度指整體控制跨度(橫向最大模塊數(shù))的表示。本題中第1層有1個(gè)模塊,第二層有3個(gè)模塊,第3層有5個(gè)模塊,第4層有2個(gè)模塊,故寬度為5。139.某系統(tǒng)結(jié)構(gòu)圖如下圖所示(圖中n≥5)該系統(tǒng)結(jié)構(gòu)圖的寬度是A)nB)3C)2D)1A【解析】寬度指整體控制跨度(橫向最大模塊數(shù))的表示。本題中第1層有1個(gè)模塊,第二層有n個(gè)模塊(注意n≥5),第3層有5個(gè)模塊,故寬度為n。140.某系統(tǒng)結(jié)構(gòu)圖如下圖所示:該系統(tǒng)結(jié)構(gòu)圖的最大扇入數(shù)是A)0B)1C)2D)3C【解析】扇入是指調(diào)用一個(gè)給定模塊的模塊個(gè)數(shù)。本題中,模塊“功能3.1”被“功能2.3”和“功能3”2個(gè)上級(jí)模塊調(diào)用,其余模塊都是被一個(gè)上級(jí)模塊調(diào)用,故最大扇入數(shù)是2。141.某系統(tǒng)結(jié)構(gòu)圖如下圖所示。該系統(tǒng)結(jié)構(gòu)圖的最大扇入數(shù)是A)4B)3C)2D)1B【解析】扇入是指調(diào)用一個(gè)給定模塊的模塊個(gè)數(shù)。本題中,模塊“功能n.1”被“功能1”、“功能2”和“功能n”3個(gè)上級(jí)模塊調(diào)用,故最大扇入數(shù)是3。本題需要注意的是,第二層中有省略號(hào),表示第二層有n個(gè)模塊,但只有3個(gè)模塊調(diào)用“功能n.1”。142.某系統(tǒng)結(jié)構(gòu)圖如下圖所示,該系統(tǒng)結(jié)構(gòu)圖的最大扇入數(shù)是A)1B)2C)3D)nD【解析】扇入是指調(diào)用一個(gè)給定模塊的模塊個(gè)數(shù)。本題中需要注意的是兩個(gè)省略號(hào)的位置,第一個(gè)省略號(hào)表示第二層有n個(gè)模塊,第二個(gè)省略號(hào)表示模塊“功能n.1”被第二層的n個(gè)模塊調(diào)用,故最大扇入數(shù)是n。143.某系統(tǒng)總體結(jié)構(gòu)如下圖所示
該系統(tǒng)結(jié)構(gòu)圖的最大扇出數(shù)是A)2B)5C)3D)1C【解析】扇出指一個(gè)模塊直接調(diào)用的其他模塊數(shù)。本題中,模塊“某系統(tǒng)”調(diào)用“功能1”“功能2”“功能3”3個(gè)模塊,扇出數(shù)為3;模塊“功能2”調(diào)用“功能2.1”“功能2.2”“功能2.3”3個(gè)模塊,扇出數(shù)為3;其余模塊調(diào)用少于3個(gè)模塊,故最大扇出數(shù)為3。144.某系統(tǒng)結(jié)構(gòu)圖如下圖所示(n≥5)該系統(tǒng)結(jié)構(gòu)圖的最大扇出數(shù)是A)3B)nC)2D)n+1B【解析】扇出指一個(gè)模塊直接調(diào)用的其他模塊數(shù)。本題中第二層有n(n≥5)個(gè)模塊,模塊“某系統(tǒng)”直接調(diào)用這n個(gè)模塊,故最大扇出數(shù)是n。145.某系統(tǒng)總體結(jié)構(gòu)如下圖所示
該系統(tǒng)結(jié)構(gòu)圖的最大扇出數(shù)、最大扇入數(shù)的總和是A)4B)5C)7D)8B【解析】本題中最大扇出數(shù)是3(模塊“某系統(tǒng)”調(diào)用“功能1”“功能2”“功能3”3個(gè)模塊),最大扇入數(shù)是2(模塊“功能2.2.2被“功能2.2”“功能2.3”2個(gè)模塊調(diào)用),故二者總和
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東耐磨環(huán)氧地坪施工方案
- 遼寧景觀(guān)植物墻施工方案
- 陽(yáng)臺(tái)花架防傾倒施工方案
- 安裝鋼軌截水篦子施工方案
- 河北公園標(biāo)識(shí)牌施工方案
- 浙江高架垂直綠化施工方案
- 2025年溴硝丙醇項(xiàng)目可行性研究報(bào)告
- 婚禮宴會(huì)廳裝修意向協(xié)議書(shū)
- 商品房混凝土澆灌施工方案
- 碼頭工程鋼筋配送服務(wù)合同
- 洞悉現(xiàn)狀 明確方向-初三上期末家長(zhǎng)會(huì)
- 質(zhì)控護(hù)理管理制度內(nèi)容
- 幼兒園幼教集團(tuán)2025學(xué)年第二學(xué)期工作計(jì)劃
- 2025版高考物理復(fù)習(xí)知識(shí)清單
- 2024年考研管理類(lèi)綜合能力(199)真題及解析完整版
- 除數(shù)是兩位數(shù)的除法練習(xí)題(84道)
- 六年級(jí)下冊(cè)【默寫(xiě)表】(牛津上海版、深圳版)(英譯漢)
- 2025年度安全檢查計(jì)劃
- 2024年度工作總結(jié)與計(jì)劃標(biāo)準(zhǔn)版本(2篇)
- 北京外企勞動(dòng)合同范例
- 《護(hù)患溝通》課件
評(píng)論
0/150
提交評(píng)論