初級程序員-2025年程序員模擬題3_第1頁
初級程序員-2025年程序員模擬題3_第2頁
初級程序員-2025年程序員模擬題3_第3頁
初級程序員-2025年程序員模擬題3_第4頁
初級程序員-2025年程序員模擬題3_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

初級程序員-2025年程序員模擬題3單選題(共71題,共71分)(1.)()不屬于主動攻擊A.流量分析B.重放C.IP地址欺騙D.拒絕服務(wù)正確答案:A參考解析(江南博哥):本題考查網(wǎng)絡(luò)攻擊的基礎(chǔ)知識。網(wǎng)絡(luò)攻擊有主動攻擊和被動攻擊兩類。其中主動攻擊是指通過一系列的方法,主動地向被攻擊對象實施破壞的一種攻擊方式,例如重放攻擊、IP地址欺騙、拒絕服務(wù)攻擊等均屬于攻擊者主動向攻擊對象發(fā)起破壞性攻擊的方式。流量分析攻擊是通過持續(xù)檢測現(xiàn)有網(wǎng)絡(luò)中的流量變化或者變化趨勢,從而得到相應(yīng)信息的一種被動攻擊方式。(2.)在uml2.0中,(請作答此空)描述結(jié)構(gòu)化類(例如,構(gòu)件或類)的內(nèi)部結(jié)構(gòu),包括結(jié)構(gòu)化類與系統(tǒng)其余部分的交互點,用于畫出結(jié)構(gòu)化類的內(nèi)部內(nèi)容。()強調(diào)消息跨越不同對象或參與者的實際時問,而不僅僅只是關(guān)心消息的相對順序。()通常與其他圖一起使用,包括文件、數(shù)據(jù)庫和類似的物理比特集合。交互概覽圖是()和()的混合物。A.包圖B.制品圖C.組合結(jié)構(gòu)圖D.定時圖正確答案:C參考解析:(1)組合結(jié)構(gòu)圖描述結(jié)構(gòu)化類(例如,構(gòu)件或類)的內(nèi)部結(jié)構(gòu),包括結(jié)構(gòu)化類與系統(tǒng)其余部分的交互點。組合結(jié)構(gòu)圖用于畫出結(jié)構(gòu)化類的內(nèi)部內(nèi)容。(2)定時圖也稱計時圖,定時圖也是一種交互圖,它強調(diào)消息跨越不同對象或參與者的實際時問,而不僅僅只是關(guān)心消息的相對順序。(3)制品圖描述計算機中一個系統(tǒng)的物理結(jié)構(gòu)。制品包括文件、數(shù)據(jù)庫和類似的物理比特集合。制品圖通常與部署圖一起使用。制品也給出了它們實現(xiàn)的類和構(gòu)件。(4)交互概覽圖是活動圖和順序圖的混合物。(3.)Theprojectworkbookisnotsomuchaseparatedocumentasitisastructureimposedonthedocumentsthattheprojectwillbeproducinganyway.Allthedocumentsoftheprojectneedtobepartofthis(請作答此空).Thisincludesobjectives,externalspecifications,interfacespecifications,technicalstandards,internalspecificationsandadministrativememoranda(備忘錄).Technicalproseisalmostimmortal.Ifoneexaminesthegenealogy(Ff)ofacustomermanualforapieceofhardwareorsoftware,onecantracenotonlytheideas,butalsomanyoftheverysentencesandparagraphsbacktothefirst()proposingtheproductorexplainingthefirstdesign.Forthetechnicalwriter,thepaste-potisasmightyasthepen.Sincethisisso,andsincetomorrow'sproduct-qualitymanualswillgrowfromtoday’smemos,itisveryimportanttogetthestructureofthedocumentationright.Theearlydesignoftheproject()ensuresthatthedocumentationstructureitselfiscrafted,nothaphazard.Moreover,theestablishmentofastructuremoldslaterwritingintosegmentsthatfitintothatstructure.Thesecondreasonfortheprojectworkbookiscontrolofthedistributionof().Theproblemisnottorestrictinformation,buttoensurethatrelevantinformationgetstoallthepeoplewhoneedit.Thefirststepistonumberallmemoranda,sothatorderedlistsoftitlesareavailableandhworkercanseeifhehaswhathewants.Theorganizationoftheworkbookgoeswellbeyondthistoestablishatree-structureofmemoranda.The()allowsdistributionliststobemaintainedbysubtree,ifthatisdesirable.A.structureB.specificationC.standardD.objective正確答案:A參考解析:翻譯:項目工作手冊與其說是一個獨立的文檔,倒不如說它是一種加在文檔上的項目會按照項目工作手冊來實施。項目所有的文檔都是項目工作手冊的一部分,其中包括目標、外部說明、接口說明、技術(shù)標準、內(nèi)部說明、以及管理備忘錄。技術(shù)文檔是其中至關(guān)重要的部分。如果客戶通過用戶手冊去搜尋硬件或軟件的信息,他不止能找到簡單的描述還能找到關(guān)于項目計劃與初步設(shè)計方面的。對于技術(shù)文檔工程師來說糊鍋跟筆一樣重要。鑒于項目質(zhì)量手冊出自出自于這些備忘錄,那么建立正確的文檔結(jié)構(gòu)尤為重要。早期的項目可以確保文檔的結(jié)構(gòu)被精心制作而不是被粗制濫造。更進一步說文檔結(jié)構(gòu)的建立也給后續(xù)的書寫工作提供一個模板。再者,項目工作手冊也能控制的分發(fā),它不是嚴格限制分發(fā)而是把信息傳遞給需要它的人。第一步要給所有備忘錄進行編號,形成一個列表,工作手冊再把這些備忘錄建立一個樹形結(jié)構(gòu)。如有必要則在此基礎(chǔ)上形成分發(fā)列表的子結(jié)構(gòu)。A.結(jié)構(gòu)B.說明C.標準D.目標(4.)Theprojectworkbookisnotsomuchaseparatedocumentasitisastructureimposedonthedocumentsthattheprojectwillbeproducinganyway.Allthedocumentsoftheprojectneedtobepartofthis().Thisincludesobjectives,externalspecifications,interfacespecifications,technicalstandards,internalspecificationsandadministrativememoranda(備忘錄).Technicalproseisalmostimmortal.Ifoneexaminesthegenealogy(Ff)ofacustomermanualforapieceofhardwareorsoftware,onecantracenotonlytheideas,butalsomanyoftheverysentencesandparagraphsbacktothefirst()proposingtheproductorexplainingthefirstdesign.Forthetechnicalwriter,thepaste-potisasmightyasthepen.Sincethisisso,andsincetomorrow'sproduct-qualitymanualswillgrowfromtoday’smemos,itisveryimportanttogetthestructureofthedocumentationright.Theearlydesignoftheproject(請作答此空)ensuresthatthedocumentationstructureitselfiscrafted,nothaphazard.Moreover,theestablishmentofastructuremoldslaterwritingintosegmentsthatfitintothatstructure.Thesecondreasonfortheprojectworkbookiscontrolofthedistributionof().Theproblemisnottorestrictinformation,buttoensurethatrelevantinformationgetstoallthepeoplewhoneedit.Thefirststepistonumberallmemoranda,sothatorderedlistsoftitlesareavailableandhworkercanseeifhehaswhathewants.Theorganizationoftheworkbookgoeswellbeyondthistoestablishatree-structureofmemoranda.The()allowsdistributionliststobemaintainedbysubtree,ifthatisdesirable.A.titleB.listC.workbookD.quality正確答案:C參考解析:翻譯:項目工作手冊與其說是一個獨立的文檔,倒不如說它是一種加在文檔上的,項目會按照項目工作手冊來實施。項目所有的文檔都是項目工作手冊的一部分,其中包括目標、外部說明、接口說明、技術(shù)標準、內(nèi)部說明、以及管理備忘錄。技術(shù)文檔是其中至關(guān)重要的部分。如果客戶通過用戶手冊去搜尋硬件或軟件的信息,他不止能找到簡單的描述還能找到關(guān)于項目計劃與初步設(shè)計方面的。對于技術(shù)文檔工程師來說糊鍋跟筆一樣重要。鑒于項目質(zhì)量手冊出自出自于這些備忘錄,那么建立正確的文檔結(jié)構(gòu)尤為重要。早期的項目可以確保文檔的結(jié)構(gòu)被精心制作而不是被粗制濫造。更進一步說文檔結(jié)構(gòu)的建立也給后續(xù)的書寫工作提供一個模板。再者,項目工作手冊也能控制的分發(fā),它不是嚴格限制分發(fā)而是把信息傳遞給需要它的人。第一步要給所有備忘錄進行編號,形成一個列表,工作手冊再把這些備忘錄建立一個樹形結(jié)構(gòu)。如有必要則在此基礎(chǔ)上形成分發(fā)列表的子結(jié)構(gòu)。A.標題B.列表C.工作手冊D.質(zhì)量(5.)Theprojectworkbookisnotsomuchaseparatedocumentasitisastructureimposedonthedocumentsthattheprojectwillbeproducinganyway.Allthedocumentsoftheprojectneedtobepartofthis().Thisincludesobjectives,externalspecifications,interfacespecifications,technicalstandards,internalspecificationsandadministrativememoranda(備忘錄).Technicalproseisalmostimmortal.Ifoneexaminesthegenealogy(Ff)ofacustomermanualforapieceofhardwareorsoftware,onecantracenotonlytheideas,butalsomanyoftheverysentencesandparagraphsbacktothefirst(請作答此空)proposingtheproductorexplainingthefirstdesign.Forthetechnicalwriter,thepaste-potisasmightyasthepen.Sincethisisso,andsincetomorrow'sproduct-qualitymanualswillgrowfromtoday’smemos,itisveryimportanttogetthestructureofthedocumentationright.Theearlydesignoftheproject()ensuresthatthedocumentationstructureitselfiscrafted,nothaphazard.Moreover,theestablishmentofastructuremoldslaterwritingintosegmentsthatfitintothatstructure.Thesecondreasonfortheprojectworkbookiscontrolofthedistributionof().Theproblemisnottorestrictinformation,buttoensurethatrelevantinformationgetstoallthepeoplewhoneedit.Thefirststepistonumberallmemoranda,sothatorderedlistsoftitlesareavailableandhworkercanseeifhehaswhathewants.Theorganizationoftheworkbookgoeswellbeyondthistoestablishatree-structureofmemoranda.The()allowsdistributionliststobemaintainedbysubtree,ifthatisdesirable.A.objectiveB.memorandaC.standardD.specification正確答案:B參考解析:翻譯:項目工作手冊與其說是一個獨立的文檔,倒不如說它是一種加在文檔上的(),項目會按照項目工作手冊來實施。項目所有的文檔都是項目工作手冊的一部分,其中包括目標、外部說明、接口說明、技術(shù)標準、內(nèi)部說明、以及管理備忘錄。技術(shù)文檔是其中至關(guān)重要的部分。如果客戶通過用戶手冊去搜尋硬件或軟件的信息,他不止能找到簡單的描述還能找到關(guān)于項目計劃與初步設(shè)計方面的(請作答此空)。對于技術(shù)文檔工程師來說糊鍋跟筆一樣重要。鑒于項目質(zhì)量手冊出自出自于這些備忘錄,那么建立正確的文檔結(jié)構(gòu)尤為重要。早期的項目()可以確保文檔的結(jié)構(gòu)被精心制作而不是被粗制濫造。更進一步說文檔結(jié)構(gòu)的建立也給后續(xù)的書寫工作提供一個模板。再者,項目工作手冊也能控制()的分發(fā),它不是嚴格限制分發(fā)而是把信息傳遞給需要它的人。第一步要給所有備忘錄進行編號,形成一個列表,工作手冊再把這些備忘錄建立一個樹形結(jié)構(gòu)。如有必要則在此()基礎(chǔ)上形成分發(fā)列表的子結(jié)構(gòu)。A.目標B.備忘錄C.標準D.說明(6.)以下敘述中,正確的是()。A.編譯正確的程序不包含語義錯誤B.編譯正確的程序不包含語法錯誤C.除數(shù)為0的情況可以在語義分析階段檢查出來D.除數(shù)為0的情況可以在語法分析階段檢查出來正確答案:B參考解析:本題考查程序語言基礎(chǔ)知識。用戶編寫的源程序不可避免地會有一些錯誤,這些錯誤大致可分為靜態(tài)錯誤和動態(tài)錯誤。動態(tài)錯誤也稱動態(tài)語義錯誤,它們發(fā)生在程序運行時,例如變量取零時作除數(shù)、引用數(shù)組元素下標越界等錯誤。靜態(tài)錯誤是指編譯時所發(fā)現(xiàn)的程序錯誤,可分為語法錯誤和靜態(tài)語義錯誤,如單詞拼寫錯誤、標點符號錯、表達式中缺少操作數(shù)、括號不匹配等有關(guān)語言結(jié)構(gòu)上的錯誤稱為語法錯誤。而語義分析時發(fā)現(xiàn)的運算符與運算對象類型不合法等錯誤屬于靜態(tài)語義錯誤。(7.)Teamsarerequiredformostengineeringprojects.Althoughsomesmallhardwareorsoftwareproductscanbedevelopedbyindividuals,thescaleandcomplexityofmodernsystemsissuch,andthedemandforshortschedulessogreat,thatitisnolonger()foronepersontodomostengineeringjobs.Systemsdevelopmentisateam(),andtheeffectivenessoftheteamlargelydeterminesthe()oftheengineering.Developmentteamsoftenbehavemuchlikebaseballorbasketballteams.Eventhoughtheymayhavemultiplespecialties,allthemembersworktoward(請作答此空).However,onsystemsmaintenanceandenhancementteams,theengineersoftenworkrelativelyindependently,muchlikewrestlingandtrackteams.Ateamis()justagroupofpeoplewhohappentoworktogether.Teamworktakespracticeanditinvolvesspecialskills.Teamsrequirecommonprocesses;theyneedagreed-upongoals;andtheyneedeffectiveguidanceandleadership.Themethodsforguidingandleadingsuchteamsarewellknown,buttheyarenotobvious.A.multipleobjectivesB.differentobjectivesC.asingleobjectiveD.independentobjectives正確答案:C參考解析:無(8.)某圖的鄰接矩陣如下,該圖為(請作答此空);若采用鄰接表表示該圖,則鄰接表中用來表示邊(或弧)的表結(jié)點總數(shù)為()個。A.無向圖B.有向圖C.完全圖D.二部圖正確答案:B參考解析:本題考查數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識。圖的鄰接矩陣是一個方陣,所有行標和列標都與圖中的頂點一一對應(yīng),這樣對于矩陣中的一個元素[i,j],其值為1表示i、j對應(yīng)的頂點間有邊(或弧),其值為0則表示i、j對應(yīng)的頂點間不存在邊(或弧)。顯然,圖中總共有9條邊。在無向圖中,邊(i,j)與(j,i)是指同一條邊,其取值是相同的;在有向圖中,<i,j>與<j,i>是兩條不同的弧。而在本題中,矩陣中的(i,j)與(j,i)是不同的,因此這個是有向圖。(9.)用某排序方法對一個關(guān)鍵碼序列進行遞增排序時,對于其中關(guān)鍵碼相同的元素,若該方法可保證在排序前后這些元素的相對位置不變,則稱該排序方法是穩(wěn)定的。以下關(guān)于排序方法穩(wěn)定性的敘述中,正確的是()。A.冒泡排序和簡單選擇排序都是穩(wěn)定的排序方法B.冒泡排序是穩(wěn)定的排序方法,簡單選擇排序不是C.簡單選擇排序是穩(wěn)定的排序方法,冒泡排序不是D.冒泡排序和簡單選擇排序都不是穩(wěn)定的排序方法正確答案:B參考解析:本題考查排序算法。主要的排序時間復(fù)雜度及其穩(wěn)定性如下:(10.)當有7個結(jié)點的二叉樹采用二叉鏈表鏈存儲時,空指針的個數(shù)為(請作答此空),采用三叉鏈表存儲空指針的個數(shù)為()。A.6B.7C.8D.9正確答案:C參考解析:結(jié)果如圖所示,空指針個數(shù)分別為結(jié)點數(shù)加1,與結(jié)點數(shù)加2。(11.)在字符串的KMP模式匹配算法中,需先求解模式串的next函數(shù)值,其定義如下式所示,j表示模式串中字符的序號(從1開始)。若模式串p為"abaac",則其next函數(shù)值為()。A.01234B.01122C.01211D.01111正確答案:B參考解析:根據(jù)公式依次推導(dǎo)即可。(12.)若一個棧初始為空,其輸入序列是1,2,3,…,n-1,n,其輸出序列的第一個元素是k(1≤k≤n/2),則輸出序列的最后一個元素是()。A.1B.nC.n-1D.不確定的正確答案:D參考解析:因為題目中沒指出出棧的順序,因此輸出的最后一個元素是不確定的。(13.)Prim算法和Kruscal算法都是無向連通網(wǎng)的最小生成樹的算法,Prim算法從一個頂點開始,每次從剩余的頂點中加入一個頂點,該頂點與當前的生成樹中的頂點的連邊權(quán)重最小,直到得到一顆最小生成樹;Kruscal算法從權(quán)重最小的邊開始,每次從不在當前的生成樹頂點中選擇權(quán)重最小的邊加入,直到得到一顆最小生成樹,這兩個算法都采用了()設(shè)計策略,且(請作答此空)。A.若網(wǎng)較稠密,則Prim算法更好B.兩個算法得到的最小生成樹是一樣的C.Prim算法比Kruscal算法效率更高D.Kruscal算法比Prim算法效率更高正確答案:A參考解析:Prim算法和Kruscal算法都是基于貪心算法的應(yīng)用。Prim算法的時間復(fù)雜度為O(n2),與圖中邊數(shù)無關(guān),該算法適合于稠密圖。Kruskal算法的時間復(fù)雜度只和邊有關(guān)系,為O(elog2e),由于Kruskal算法只與邊有關(guān),因此適合求稀疏圖的最小生成樹。(14.)在平衡二叉排序樹上進行查找時,其時間復(fù)雜度為()。A.O(log2n+1)B.O(log2n)C.O(log2n-1)D.log22n正確答案:B參考解析:這是二叉樹的基本查找問題,因為是平衡二叉樹,其時間復(fù)雜度即為樹的高,所以為log2n。(15.)某圖的鄰接矩陣如下,該圖為();若采用鄰接表表示該圖,則鄰接表中用來表示邊(或弧)的表結(jié)點總數(shù)為(請作答此空)個。A.9B.18C.21D.49正確答案:A參考解析:本題考查數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識。圖的鄰接矩陣是一個方陣,所有行標和列標都與圖中的頂點一一對應(yīng),這樣對于矩陣中的一個元素[i,j],其值為1表示i、j對應(yīng)的頂點間有邊(或弧),其值為0則表示i、j對應(yīng)的頂點間不存在邊(或弧)。顯然,圖中總共有9條邊。在無向圖中,邊(i,j)與(j,i)是指同一條邊,其取值是相同的;在有向圖中,<i,j>與<j,i>是兩條不同的弧。而在本題中,矩陣中的(i,j)與(j,i)是不同的,因此這個是有向圖。(16.)對于n個元素的關(guān)鍵字序列{ki,k2,…,kn},當且僅當滿足關(guān)系ki≤k2i且ki≤k2i+i(i=1,2,…[n/2])時稱為小根堆(小頂堆)。以下序列中,()不是小根堆。A.12,20,36,48,25,50,40B.12,36,20,48,40,25,50C.12,20,25,36,40,48,50D.12,36,20,48,25,50,40正確答案:D參考解析:在完全二義樹中對結(jié)點可如下編號:根結(jié)點為1號,其左孩子結(jié)點為2號,右孩子結(jié)點為3號,對于編號為i的結(jié)點,其左孩子結(jié)點若存在,則編號為2i,其右孩子結(jié)點若存在,則編號為2i+1。可將序列中的元素放入一棵完全二叉樹上進行判斷,如下圖所示。根據(jù)堆的定義,可知選項D不是堆。(17.)若在單向鏈表上,除訪問鏈表中所有結(jié)點外,還需在表尾頻繁插入結(jié)點,那么采用()最節(jié)省時間。A.僅設(shè)尾指針的單向鏈表B.僅設(shè)頭指針的單向鏈表C.僅設(shè)尾指針的單向循環(huán)鏈表D.僅設(shè)頭指針的單向循環(huán)鏈表正確答案:C參考解析:單向鏈表僅設(shè)頭指針時,在表尾插入結(jié)點時需要遍歷整個鏈表,時間復(fù)雜度為o(n),僅設(shè)尾指針時,在表尾插入結(jié)點的時間復(fù)雜度為O(1),但是不能訪問除了尾結(jié)點之外的所有其他結(jié)點。而單向循環(huán)鏈表僅設(shè)頭指針時,在表尾插入結(jié)點時需要遍歷整個鏈表,時間復(fù)雜度為0(n),僅設(shè)尾指針時,在表尾插入結(jié)點的時間復(fù)雜度為0(1),同時達到表頭結(jié)點的時間復(fù)雜度為0(1),因此對于題中給出的操作要求,適合采用僅設(shè)尾指針的單向循環(huán)鏈表。(18.)以下應(yīng)用中,必須采用棧結(jié)構(gòu)的是()。A.使一個整數(shù)序列逆轉(zhuǎn)B.遞歸函數(shù)的調(diào)用和返回C.申請和釋放單鏈表中的結(jié)點D.裝入和卸載可執(zhí)行程序正確答案:B參考解析:棧結(jié)構(gòu)的特點是后進先出,一個整數(shù)序列的逆轉(zhuǎn)可以通過使交換第一個與最后一個元素,第二個與倒數(shù)第二個元素等來實現(xiàn)。在鏈表節(jié)點的申請和釋放中,沒有先申請后釋放的操作要求,動態(tài)內(nèi)存空間的使用也沒有這個要求。在計算機系統(tǒng)中需要根據(jù)任務(wù)處理的需要裝入和卸載可執(zhí)行程序,沒有后進先出的要求。遞歸函數(shù)調(diào)用和返回必須通過棧結(jié)構(gòu)來控制。(19.)以下應(yīng)用中,必須采用隊列結(jié)構(gòu)的是()。A.表達式求值B.括號匹配C.打印序列D.遞歸調(diào)用正確答案:C參考解析:棧的應(yīng)用:表達式求值、括號匹配、遞歸。隊列的應(yīng)用:打印隊列。(20.)當有7個結(jié)點的二叉樹采用二叉鏈表鏈存儲時,空指針的個數(shù)為(),采用三叉鏈表存儲空指針的個數(shù)為(請作答此空)。A.6B.7C.8D.9正確答案:D參考解析:結(jié)果如圖所示,空指針個數(shù)分別為結(jié)點數(shù)加1,與結(jié)點數(shù)加2。(21.)某個應(yīng)用中,需要對輸入數(shù)據(jù)進行排序,輸入數(shù)據(jù)序列基本有序(如輸入為1,2,5,3,4,6,8,7)。在這種情況下,采用()排序算法最好,時間復(fù)雜度為(請作答此空)。A.O(n)B.O(nlgn)C.O(n^2)D.O(n^2lgn)正確答案:A參考解析:當序列基本有序時,使用插入排序效率是最高的,能達到這種算法的最優(yōu)效果,O(n)。(22.)軟件質(zhì)量保證的主要目標不包括()。A.通過預(yù)防、檢查與改進來保證軟件質(zhì)量B.保證開發(fā)出來的軟件和軟件開發(fā)過程符合相應(yīng)標準與規(guī)程C.收集軟件產(chǎn)品、軟件過程中存在的不符合項,在項目總結(jié)時進行分析D.確保項目組制定的計劃、標準和規(guī)程適合項目需要,同時滿足評審和審計需要正確答案:C參考解析:本題考查對軟件質(zhì)量保證的了解。軟件質(zhì)量保證是通過預(yù)防、檢查與改進來保證軟件質(zhì)量,是軟件生命周期的管理以及驗證軟件是否滿足規(guī)定的質(zhì)量和用戶的需求。它著眼于軟件開發(fā)活動中的過程、步驟和產(chǎn)物,而不是對軟件進行剖析,找出問題或進行評估。它不負責(zé)生產(chǎn)高質(zhì)量的軟件產(chǎn)品和制定質(zhì)量計劃,這些都是軟件開發(fā)的工作,它的責(zé)任是審計軟件經(jīng)理和軟件工程組的質(zhì)量活動并鑒別活動中出現(xiàn)的偏差。它的內(nèi)容也不包括“收集軟件產(chǎn)品、軟件過程中存在的不符合項,在項目總結(jié)時進行分析”。(23.)軟件評審作為質(zhì)量控制的一個重要手段,已經(jīng)被業(yè)界廣泛使用。評審分為內(nèi)部評審和外部評審。關(guān)于內(nèi)部評審的敘述,正確的包括()。①對軟件的每個開發(fā)階段都要進行內(nèi)部評審②評審人員由軟件開發(fā)組、質(zhì)量管理和配置管理人員組成,也可邀請用戶參與③評審人數(shù)根據(jù)實際情況確定,比如根據(jù)軟件的規(guī)模等級和安全性等級等指標而定④內(nèi)部評審由用戶單位主持,由信息系統(tǒng)建設(shè)單位組織,應(yīng)成立評審委員會A.①②④B.①②③C.②③④D.①②③④正確答案:B參考解析:本題考查對軟件評審相關(guān)內(nèi)容的了解。軟件評審是為了使軟件開發(fā)按軟件工程提出的過程循序進行,在軟件各研制階段結(jié)束時,檢查該階段的工作是否完成,所提交的軟件階段產(chǎn)品是否達到了規(guī)定的質(zhì)量和技術(shù)要求,決定是否可以轉(zhuǎn)入下一階段研制工作。評審分為內(nèi)部評審和外部評審。內(nèi)部評審由承建單位組織并實施。評審人員由軟件開發(fā)組、質(zhì)量管理和配置管理人員組成,可邀請業(yè)主單位參加,但是主持人應(yīng)該是本單位人員。根據(jù)軟件的規(guī)模等級和安全『生關(guān)鍵等級組成5~9人的評審組進行。評審的內(nèi)容可參照外部評審的內(nèi)容和要求處理,評審步驟可以簡化,但對軟件開發(fā)的各個階段都要進行內(nèi)部評審。對規(guī)模等級大和安全性關(guān)鍵等級高的軟件必須進行外部評審。外部評審由業(yè)主單位主持,承建單位組織,成立評審委員會。評審委員會由業(yè)主單位、承建單位和一定數(shù)量(占評審委員會總?cè)藬?shù)的50%以上)的軟件專家組成員組成,人數(shù)為7人以上(單數(shù)),設(shè)主任一人、副主任若干人。評審委員會與軟件專家組共同進行評審。評審分專家組審查和評委會評審兩步完成。軟件專家組進行審查,評審委員會進行評審。(24.)對于邏輯表達式((a&&b)||c),需要()個測試用例才能完成條件組合覆蓋。A.2B.4C.8D.16正確答案:C參考解析:本題考查白盒測試中邏輯覆蓋法的條件組合覆蓋。條件組合覆蓋的含義是:選擇足夠的測試用例,使得每個判定中條件的各種可能組合都至少出現(xiàn)一次。本題中有三個條件,組合之后需要的用例數(shù)是8。(25.)下圖是某項目的剪線圖(時間單位:周),其關(guān)鍵路徑是(),工期是(請作答此空)周。A.14B.12C.11D.13正確答案:A參考解析:關(guān)鍵路徑:1-4-9-11,工期14周。(26.)算術(shù)表達式采用后綴式表示時不需要使用括號,使用(請作答此空)就可以方便地進行求值。a-b*(c+d)的后綴式為()。A.隊列B.數(shù)組C.棧D.廣義表正確答案:C參考解析:計算機在處理算術(shù)表達式時,首先將其轉(zhuǎn)換為后綴表達式。例如,表達式“46+5*(120-37)”的后綴表達式形式為“46512037-*+”。計算后綴表達式時,從左至右掃描后綴表達式:若遇到運算對象,則壓入棧中,若遇到運算符,則從棧中彈出相關(guān)運算對象進行計算,并將運算結(jié)果壓入棧中,重復(fù)以上過程,直到后綴表達式掃描結(jié)束。表達式“a-b*(b+d)”的后綴表達式形式為“abcd+*-。(27.)算術(shù)表達式采用后綴式表示時不需要使用括號,使用()就可以方便地進行求值。a-b*(c+d)的后綴式為(請作答此空)。A.abcd-*+B.abcd*+-C.ab-c*d+D.abcd+*-正確答案:D參考解析:計算機在處理算術(shù)表達式時,首先將其轉(zhuǎn)換為后綴表達式。例如,表達式“46+5*(120-37)”的后綴表達式形式為“46512037-*+”。計算后綴表達式時,從左至右掃描后綴表達式:若遇到運算對象,則壓入棧中,若遇到運算符,則從棧中彈出相關(guān)運算對象進行計算,并將運算結(jié)果壓入棧中,重復(fù)以上過程,直到后綴表達式掃描結(jié)束。表達式“a-b*(b+d)”的后綴表達式形式為“abcd+*-。(28.)結(jié)構(gòu)化分析(StructuredAnalysis,SA是面向數(shù)據(jù)流的需求分析方法,______不屬于SA工具。A.分層的數(shù)據(jù)流圖B.數(shù)據(jù)詞典C.問題分析圖D.描述加工邏輯的結(jié)構(gòu)化語言、判定表或判定樹正確答案:C參考解析:本題考查對軟件開發(fā)工具相關(guān)內(nèi)容的了解。結(jié)構(gòu)化方法(StructuredMethod)是強調(diào)開發(fā)方法的結(jié)構(gòu)合理性以及所開發(fā)軟件的結(jié)構(gòu)合理性的軟件開發(fā)方法。針對軟件生存周期各個不同階段,它包括結(jié)構(gòu)化分析(SA)、結(jié)構(gòu)化設(shè)計(SD)和結(jié)構(gòu)化程序設(shè)計(SP)等方法。結(jié)構(gòu)化分析方法給出一組幫助系統(tǒng)分析人員產(chǎn)生功能規(guī)約的原理與技術(shù)。它一般利用圖形表達用戶需求,使用的手段主要有數(shù)據(jù)流圖、數(shù)據(jù)字典、結(jié)構(gòu)化語言、判定表以及判定樹等,其中不包括問題分析圖。(29.)某二叉樹為單枝樹(即非葉子結(jié)點只有一個孩子結(jié)點)且具有n個結(jié)點(n>1),則該二叉樹()A.共有n層,每層有一個結(jié)點B.共有l(wèi)og2n層,相鄰兩層的結(jié)點數(shù)正好相差一倍C.先序遍歷序列與中序遍歷序列相同D.后序遍歷序列與中序遍歷序列相同正確答案:A參考解析:若二叉樹為單技樹,那幺n個節(jié)點就分布在n層上。遍歷序列則與遍歷方法和二叉樹的形態(tài)有關(guān)。例如,對于三個節(jié)點的單技二叉樹,其形態(tài)可為:(30.)Teamsarerequiredformostengineeringprojects.Althoughsomesmallhardwareorsoftwareproductscanbedevelopedbyindividuals,thescaleandcomplexityofmodernsystemsissuch,andthedemandforshortschedulessogreat,thatitisnolonger(請作答此空)foronepersontodomostengineeringjobs.Systemsdevelopmentisateam(),andtheeffectivenessoftheteamlargelydeterminesthe()oftheengineering.Developmentteamsoftenbehavemuchlikebaseballorbasketballteams.Eventhoughtheymayhavemultiplespecialties,allthemembersworktoward().However,onsystemsmaintenanceandenhancementteams,theengineersoftenworkrelativelyindependently,muchlikewrestlingandtrackteams.Ateamis()justagroupofpeoplewhohappentoworktogether.Teamworktakespracticeanditinvolvesspecialskills.Teamsrequirecommonprocesses;theyneedagreed-upongoals;andtheyneedeffectiveguidanceandleadership.Themethodsforguidingandleadingsuchteamsarewellknown,buttheyarenotobvious.A.convenientB.existingC.practicalD.real正確答案:C參考解析:無(31.)算術(shù)表達式(a-b)*c+d的后綴式是()(-、+、*表示算術(shù)的減、加、乘運算,運算符的優(yōu)先級和結(jié)合性遵循慣例)。A.abcd-*+B.abc-*d+C.abc-d*+D.ab-cd*+正確答案:B參考解析:本題考查程序語言基礎(chǔ)知識。后綴式(逆波蘭式)是波蘭邏輯學(xué)家盧卡西維奇發(fā)明的一種表示表達式的方法。這種表示方式把運算符寫在運算對象的后面,例如,把a+b寫成ab+,所以也稱為后綴式。算術(shù)表達式“a*(b-c)+d”的后綴式是“abc-*d+”。(32.)設(shè)數(shù)組a[1..10,1..8]中的元素按行存放,每個元素占用4個存儲單元,已知第一個數(shù)組元素a[1,1]的地址為1004,那么a[5,6]的地址為()。A.1004+(5*8+6)*4B.1004+(4*8+5)*4C.1004+(5*10+6)*4D.1004+(4*10+5)*4正確答案:B參考解析:二維數(shù)組按行存儲的公式:a[i,j]=數(shù)組元素首地址+(i*列數(shù)+j)*每個元素占用存儲空間數(shù)。(33.)若有字符串“software”,則其長度為3的子串有()個。A.5B.6C.7D.8正確答案:B參考解析:長度為3的子串有“sof”、“oft”、“ftw”、“twa”、“war”、“are”6個。(34.)將主存空閑區(qū)按地址順序從小到大登記在空閑區(qū)表中,每次分配時總是順序查找空閑區(qū)表,此種分配算法稱為()分配算法。A.最先適應(yīng)B.最壞適應(yīng)C.隨機適應(yīng)D.最優(yōu)適應(yīng)正確答案:A參考解析:常用的4種存儲分配算法如下:(1)最先適應(yīng)算法:把內(nèi)存中的可用分區(qū)單獨組成可用分區(qū)表或可用分區(qū)自由鏈,按起始地址遞增的次序排列。每次按遞增次序向后找,一旦找到大于或等于所要求的內(nèi)存長度的分區(qū)時,則結(jié)束探索,從找到的分區(qū)中找出所要求的內(nèi)存長度分配給用戶。(2)隨機適應(yīng)算法:隨機地尋找空閑區(qū),只要找到大于或等于所要求的內(nèi)存長度的分區(qū),就對其進行分配。(3)最佳適應(yīng)算法:將輸入作業(yè)放入主存中與它所需的大小最接近的空白區(qū)中,使剩下的未用空間最小,該算法要求空白區(qū)大小按從小到大的次序組成空白區(qū)可用表或自由鏈。在進行分配時總是從最小的一個開始查詢,因而找到的一個能滿足要求的空白區(qū)便是最佳的一個。(4)最壞適應(yīng)算法:分配時把一個作業(yè)程序放入主存中最不適合它的空白區(qū),即最大的空白區(qū)(空閑區(qū))內(nèi)。(35.)詳細設(shè)計是軟件總體設(shè)計后的工作。在下列可選內(nèi)容中,()不屬于詳細設(shè)計內(nèi)容。A.算法設(shè)計B.模塊設(shè)計C.屏幕設(shè)計D.功能設(shè)計正確答案:D參考解析:軟件工程把開發(fā)過程分為可行性分析、需求分析、概要設(shè)計、詳細設(shè)計、實現(xiàn)、維護等幾個階段。在經(jīng)過概要設(shè)計后,基本確定了系統(tǒng)的模塊與模塊間的關(guān)系,詳細設(shè)計的任務(wù)就是為每個模塊設(shè)計其實現(xiàn)的細節(jié)(包括算法設(shè)計、界面設(shè)計等)。詳細設(shè)計階段的根本目標是確定應(yīng)該怎樣具體地實現(xiàn)所要求的系統(tǒng),得出對目標系統(tǒng)的精確描述。(36.)將一個遞歸算法改為對應(yīng)的非遞歸算法時,通常需要使用()。A.優(yōu)先隊列B.隊列C.循環(huán)隊列D.棧正確答案:D參考解析:將一個遞歸算法改為對應(yīng)的非遞歸算法時,通常需要使用的數(shù)據(jù)結(jié)構(gòu)是棧。(37.)給定關(guān)系R(A,B,C,D,E)與S(A,B,C,F,G),那么與表達式等價的SQL語句如下:select()fromR,Swhere(請作答此空);A.R.A=S.AORR.B=SB.ORR.C=SC.ORR.A<S.FB.R.A=S.A.ORR.B=S.B.ORR.C=S.CORR.A<S.BCR.A=S.A.AND.R.A<S.B正確答案:C參考解析:本題考查關(guān)系代數(shù)運算與SQL語言的對應(yīng)關(guān)系。注意本題中R與S是做自然聯(lián)接操作,操作時會將R與S中相同字段名做等值聯(lián)接,并將結(jié)果集去重復(fù)。所以R與S自然聯(lián)接后的結(jié)果包括以下屬性:R.A,R.B,R.C,D,E,F(xiàn),G。關(guān)系代數(shù)選擇條件為“1<6”,即R.A<F。關(guān)系代數(shù)投影操作條件為“1,2,4,6,7”,對應(yīng)的屬性為:R.A,R.B,D,F(xiàn),G。(38.)通過設(shè)置文件的______,可以使其成為“只讀”文件。A.類型B.格式C.屬性D.狀態(tài)正確答案:C參考解析:文件一般包括3個屬性:只讀、隱藏、存檔。要使一個文件成為只讀文件,只需將它的屬性設(shè)置為“只讀”就可以了。(39.)系統(tǒng)的硬件環(huán)境、軟件環(huán)境和數(shù)據(jù)環(huán)境發(fā)生變化時需要對系統(tǒng)進行維護,這種維護屬于______。A.校正性維護B.適應(yīng)性維護C.完善性維護D.預(yù)防性維護正確答案:B參考解析:軟件維護通常可分成校正性維護、適應(yīng)性維護、完善性維護和預(yù)防性維護。校正性維護:在使用過程中發(fā)現(xiàn)了隱藏的錯誤后,為了診斷和改正這些隱藏錯誤而修改軟件的活動。適應(yīng)性維護:為了適應(yīng)變化了的環(huán)境而修改軟件的活動。完善性維護:為了擴充或完善原有軟件的功能或性能而修改軟件的活動。預(yù)防性維護:為了提高軟件的可維護性和可靠性,為未來的進一步改進打下基礎(chǔ)而修改軟件的活動。(40.)假設(shè)現(xiàn)在要創(chuàng)建一個簡單的超市銷售系統(tǒng),顧客將毛巾、餅干、酸奶等物品(Item)加入購物車(Shopping_Cart),在收銀臺(Checkout)人工(Manual)或自動(Auto)地將購物車中每個物品的價格匯總到總價格后結(jié)帳。這一業(yè)務(wù)需求的類圖(方法略)設(shè)計如下圖所示,采用了()模式。其中(請作答此空)定義以一個Checkout對象為參數(shù)的accept操作,由子類實現(xiàn)此accept操作。此模式為(),適用于()。A.ItemB.Shopping_CartC.CheckoutD.Manual和Auto正確答案:A參考解析:訪問者模式包含如下角色:Vistor:抽象訪問者ConcreteVisitor:具體訪問者Element:抽象元素ConcreteElement:具體元素ObjectStructure:對象結(jié)構(gòu)(41.)假設(shè)現(xiàn)在要創(chuàng)建一個簡單的超市銷售系統(tǒng),顧客將毛巾、餅干、酸奶等物品(Item)加入購物車(Shopping_Cart),在收銀臺(Checkout)人工(Manual)或自動(Auto)地將購物車中每個物品的價格匯總到總價格后結(jié)帳。這一業(yè)務(wù)需求的類圖(方法略)設(shè)計如下圖所示,采用了(請作答此空)模式。其中()定義以一個Checkout對象為參數(shù)的accept操作,由子類實現(xiàn)此accept操作。此模式為(),適用于()。A.觀察者(Observer)B.訪問者(Visitor)C.策略(Strategy)D.橋接器(Bridge)正確答案:B參考解析:訪問者模式包含如下角色:Vistor:抽象訪問者ConcreteVisitor:具體訪問者Element:抽象元素ConcreteElement:具體元素ObjectStructure:對象結(jié)構(gòu)(42.)如果待排序中兩個數(shù)據(jù)元素具有相同的值,在排序后它們的相互位置發(fā)生顛倒,則稱該排序算法不穩(wěn)定,()就是不穩(wěn)定的排序算法。A.冒泡排序B.歸并排序C.直接插入排序D.Shell排序正確答案:C參考解析:所謂排序就是要整理文件中的記錄,使之按關(guān)鍵字遞增(或遞減)次序排列起來。直接插入排序的過程為在插入第i個記錄時,R1,R2,…,Ri-1已經(jīng)排好序,將第i個記錄的排序碼島依次和R1,R2,…,Ri-1的排序碼逐個進行比較,找到適當?shù)奈恢谩T谶@個排序過程中,如果發(fā)現(xiàn)兩個數(shù)相等,則在已排好序的數(shù)前面插入這個相等的數(shù),這樣與原序列發(fā)生了顛倒,是不穩(wěn)定的排序算法。(43.)如果待排序中兩個數(shù)據(jù)元素具有相同的值,在排序后它們的相互位置發(fā)生顛倒,則稱該排序算法不穩(wěn)定,()就是不穩(wěn)定排序算法。A.冒泡排序B.歸并排序C.直接插入排序D.Shell排序正確答案:C參考解析:所謂排序就是要整理文件中的記錄,使之按關(guān)鍵字遞增(或遞減)次序排列起來。直接插入排序的過程為在插入第i個記錄時,R1,R2,…,Ri-1已經(jīng)排好序,將第i個記錄的排序碼島依次和R1,R2,…,Ri-1的排序碼逐個進行比較,找到適當?shù)奈恢谩T谶@個排序過程中,如果發(fā)現(xiàn)兩個數(shù)相等,則在已排好序的數(shù)前面插入這個相等的數(shù),這樣與原序列發(fā)生了顛倒,是不穩(wěn)定的排序算法(44.)以下關(guān)于圖及其存儲結(jié)構(gòu)的敘述中,正確的是()。A.無向圖的鄰接矩陣一定是對稱的B.有向圖的鄰接矩陣一定是不對稱的C.無向圖采用鄰接表存儲更節(jié)省存儲空間D.有向圖采用鄰接表存儲更節(jié)省存儲空間正確答案:A參考解析:本題考查數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識。鄰接矩陣表示法利用一個矩陣來表示圖中頂點之間的關(guān)系。對于具有n個頂點的圖G=(V,E)來說,其鄰接矩陣是一個n階方陣,且滿足在無向圖中,頂點Vi到Vj有一條邊,則Vj到Vi也一定有邊,因此,無向圖的鄰接矩陣是對稱的,而有向圖的鄰接矩陣則不具有該性質(zhì)。(45.)在某個二叉查找樹(即二叉排序樹)中進行查找時,效率最差的情形是該二叉查找樹是()。A.完全二叉樹B.平衡二叉樹C.單枝樹D.滿二叉樹正確答案:C參考解析:單枝樹極度不平衡,查找的平均時間復(fù)雜度為O(N)。(46.)快速排序算法是,在排序過程中,在待排序數(shù)組中確定一個元素為基準元素,根據(jù)基準元素把待排序數(shù)組劃分成兩個部分,前面一部分元素值小于基準元素,而后面一部分元素值大于基準元素。然后再分別對前后兩個部分進一步進行劃分。根據(jù)上述描述,快速排序算法采用了(請作答此空)算法設(shè)計策略。已知確定著基準元素操作的時間復(fù)雜度為O(n),則快速排序算法的最好和最壞情況下的時間復(fù)雜度為()。A.分治B.動態(tài)規(guī)劃C.貪心D.回溯正確答案:A參考解析:將數(shù)據(jù)分成若干份,每份單獨處理后再合并,其思想為分治。理想情況下,快速排序每次將數(shù)據(jù)劃分為規(guī)模相近的兩部分,并遞歸至不可再劃分,因此其時間復(fù)雜度為O(nlgn)。在最壞情況下,每次劃分都極不均勻,如一個類別中僅有一個元素,另一個類別中包含剩余所有元素。這時劃分的復(fù)雜度為O(n),次操作的總復(fù)雜度為O(n2)。(47.)隊列采用如下圖所示的循環(huán)單鏈表表示,圖(a)表示隊列為空,圖(b)為e1、e2.e3依次入隊列后的狀態(tài),其中,rear指針指向隊尾元素所在結(jié)點,size為隊列長度。以下敘述中,正確的是()。A.入隊列時需要從頭至尾遍歷鏈表,而出隊列不需要B.出隊列時需要從頭至尾遍歷鏈表,而入隊列不需要C.新元素加入隊列以及隊頭元素出隊列都需要遍歷鏈表,D.入隊列和出隊列操作都不需要遍歷鏈表正確答案:D參考解析:本題考察數(shù)據(jù)結(jié)構(gòu)與算法的基礎(chǔ)知識。對于鏈表結(jié)構(gòu),插入刪除元素改變指針指向即可,不需要遍歷。(48.)對于長度為n的線性表(即n個元素構(gòu)成的序列),若采用順序存儲結(jié)構(gòu)(數(shù)組存儲),則在等概率下,刪除一個元素平均需要移動的元素數(shù)為()。A.nB.(n-1)/2C.N/2D.Logn正確答案:B參考解析:本題考察數(shù)據(jù)結(jié)構(gòu)與算法的基礎(chǔ)知識。在表長為n的線性表中刪除一個元素時,共有n個可刪除的元素。刪除a1時需要移動n-1個元素,刪除an時不需要移動元素,因此,等概率下刪除一個元素時平均的移動元素個數(shù)Edelete為其中,qi表示刪除第i個元素(aj)的概率。(49.)某二叉樹的先序遍歷序列為ABCDFGE,中序遍歷序列為BAFDGCE。以下關(guān)于該二叉樹的敘述中,正確的是()。A.該二叉樹的高度(層飲數(shù))為4B.該二叉樹中結(jié)點D是葉子結(jié)點C.該二叉樹是滿二叉樹(即每層的結(jié)點數(shù)達到最大值)D.該二叉樹有5個葉子結(jié)點正確答案:A參考解析:本題考查數(shù)據(jù)結(jié)構(gòu)與算法基礎(chǔ)知識。二叉樹的先序遍歷定義為:訪問根結(jié)點,先序遍歷根的左子樹,先序遍歷根的右子樹。二叉樹的中序遍歷定義為:中序遍歷根的左子樹,訪問根結(jié)點,中序遍歷根的右子樹。顯然,先序遍歷序列的第一個結(jié)點就是二叉樹的根結(jié)點,而在中序遍歷序列中,根結(jié)點的左邊為左子樹上的結(jié)點,右邊為右子樹上的結(jié)點。因此,首先由先序遍歷序列確定根結(jié)點,然后在中序遍歷序列中找到根結(jié)點,據(jù)此就可以將左子樹和右子樹的結(jié)點區(qū)分開。對于左、右子樹同樣處理,就可以得到對應(yīng)的二叉樹。本題的二叉樹為:(50.)設(shè)有初始力空的棧s,對于入棧序列a、b、c、d,經(jīng)由一個合法的進棧和出棧操作序列后(每個元素迸棧、出棧各1次),以c作為第一個出棧的元素時,不能得到的序列為()。A.cdbaB.cbdaC.cdabD.cbad正確答案:C參考解析:本題考察數(shù)據(jù)結(jié)構(gòu)與算法的基礎(chǔ)知識。在本題中,c第一個出棧,則說明a、b已經(jīng)入棧,那么a應(yīng)該在b后面出棧。(51.)與算術(shù)表達式3-(2+7)/4對應(yīng)的二叉樹為()。A.見圖AB.見圖BC.見圖CD.見圖D正確答案:B參考解析:本題考察編譯過程中語法樹的基礎(chǔ)知識。對于算術(shù)表達式的二叉樹表示,要看其運算的過程而定。最先運算的樹位于最低層。(52.)一個計算機算法是對特定問題求解步驟的一種描述。算法的()是指算法能夠?qū)Σ缓侠頂?shù)據(jù)及非法操作進行識別和處理的能力。A.有窮性B.可行性C.確定性D.健壯性正確答案:D參考解析:評定一個算法的優(yōu)劣,主要有以下幾個指標。(1)正確性:一個算法必須正確才有存在的意義,這是最重要的指標,要求編程人員應(yīng)用正確的計算機語言實現(xiàn)算法的功能。(2)友好性:算法實現(xiàn)的功能是給用戶使用的,自然要具有良好的使用性,即用戶友好性。(3)可讀性:算法的實現(xiàn)可能需要多次的修改,也可能被移植到其他的功能中,因此算法應(yīng)當是可讀的、可以理解的,方便程序人員對其分析、修改移植到自己的程序中,實現(xiàn)某些功能。(4)健壯性:在一個算法中,經(jīng)常會出現(xiàn)不合理的數(shù)據(jù)或非法的操作,所以一個算法必須具有健壯性,能夠?qū)@些問題進行檢查、糾正。算法具有健壯性是一個升華,當用戶剛開始學(xué)習(xí)寫算法時可以忽略它的存在,在逐漸的學(xué)習(xí)中要努力讓算法更加完美。(5)效率:算法的效率主要是指執(zhí)行算法時計算機資源的消耗,包括計算機內(nèi)存的消耗和計算機運行時間的消耗。這兩個消耗可以統(tǒng)稱為時空效率。一個算法只有正確性而無效率是沒有意義的,通常,效率也可以評定一個算法是否正確。如果一個算法需要執(zhí)行幾年甚至幾百年,那么無疑這個算法會被評為是錯誤的。(53.)算術(shù)表達式采用后綴式表示時不需要使用括號,使用()就可以方便地進行求值。a-b*(c+d)的后綴式為(請作答此空)。A.abcd-*+B.abcd*+-C.ab–c*d+D.abcd+*-正確答案:D參考解析:表達式“a-b*(b+d)”的后綴表達式形式為“abcd+*-。一種比較簡便的方法:a-b*(c+d),看計算的先后順序,先是c+d,轉(zhuǎn)化的時候?qū)⒉僮鲾?shù)放前面,然后再是運算符放后面,注意操作數(shù)的前后順序保持不變,所以是cd+。然后b*(c+d),同樣,操作數(shù)放前面,運算符放后面,所以是bcd+*。最后是a-b*(c+d),操作數(shù)放前面,運算符放后面,最后就是abcd+*-。(54.)若某算術(shù)表達式用二叉樹表示如下,則該算術(shù)表達式的中綴式為(請作答此空),其后綴式為()。A.a-b+c*dB.a-(b+c)*dC.(a-(b+c))*dD.a-(b+c*d)(31)正確答案:C參考解析:中綴式的表達式接近人們進行數(shù)學(xué)計算使用的表達式,因此30題選擇C。后綴式是采用左、右、根的方式進行遍歷。(55.)若某算術(shù)表達式用二叉樹表示如下,則該算術(shù)表達式的中綴式為(),其后綴式為(請作答此空)。A.abc+-d*B.abcd*+-C.ab-c+d*D.abcd+*-正確答案:A參考解析:中綴式的表達式接近人們進行數(shù)學(xué)計算使用的表達式,因此30題選擇C。后綴式是采用左、右、根的方式進行遍歷。(56.)25個互不相同的正整數(shù)之和為500,則其中至少有()個偶數(shù)。A.1B.2C.3D.4正確答案:C參考解析:從奇數(shù)開始:1+3+5+7+9+11+...+43=(1+43)*22/2=484,共22個奇數(shù),則偶數(shù)為0、2、4,484+0+2+4=500。因此至少3個偶數(shù)。(57.)通過設(shè)置基準(樞軸)元素將待排序的序列劃分為兩個子序列,使得其一個子序列的元素均不大于基準元素,另一個子序列的元素均不小于基準元素,然后再分別對兩個子序列繼續(xù)遞歸地進行相同思路的排序處理,這種排序方法稱為()。A.快速排序B.冒泡排序C.歸并排序D.簡單選擇排序正確答案:A參考解析:快速排序:通過一趟排序?qū)⒁判虻臄?shù)據(jù)分割成獨立的兩部分,其中一部分的所有數(shù)據(jù)都比另外一部分的所有數(shù)據(jù)都要小,然后再按此方法對這兩部分數(shù)據(jù)分別進行快速排序,整個排序過程可以遞歸進行,以此達到整個數(shù)據(jù)變成有序序列。(58.)以下關(guān)于線性表采用順序存儲結(jié)構(gòu)的優(yōu)點的敘述中,正確的是()。A.不需要存儲單元地址連續(xù)B.可在任意位置高效地插入元素C.可在任意位置高效地刪除元素D.可對表中元素實現(xiàn)隨機訪問正確答案:D參考解析:線性表需要連續(xù)空間存放,插入刪除元素都可能需要移動其他元素,效率不高。(59.)某企業(yè)在職培訓(xùn)需要開設(shè)九門課程(編號為A~I,但是每次只能開設(shè)1門。有些課程之間有先修關(guān)系(見下圖):“甲→乙”表示課程甲必須先于課程乙開設(shè)(不要求一定緊接)。將這九門課程按拓撲排序,意味著順序排列后的課程將全部保持所要求的先修關(guān)系。()屬于拓撲排序。A.G-A-I-E-F-D-B-H-CB.A-G-I-D-B-E-C-F-HC.A-G-I-E-B-C-D-F-HD.G-A-I-E-B-D-C-F-H正確答案:D參考解析:強調(diào)了先修關(guān)系,即課程排序要遵循圖中給出的先后順序。(60.)在非空()中,左子樹中結(jié)點的關(guān)鍵字都小于根結(jié)點的關(guān)鍵字,右子樹中的關(guān)鍵字均大于根結(jié)點的關(guān)鍵字,且左、右子樹也滿足該要求。A.最優(yōu)二叉樹B.二叉排序樹C.完全二叉樹D.滿二叉樹正確答案:B參考解析:二叉排序樹的特點。(61.)已知某圖的鄰接矩陣為對稱矩陣,則該圖一定為()。A.有向圖B.無向圖C.完全圖D.強連通圖正確答案:B參考解析:如圖所示,一個無向圖的鄰接矩陣一定是對稱的。(62.)以下關(guān)于字符串的敘述中,正確的是()。A.字符串屬于線性的數(shù)據(jù)結(jié)構(gòu)B.長度為0字符串稱為空白串C.串的模式匹配算法用于求出給定串的所有子串D.兩個字符串比較時,較長的串比較短的串大正確答案:A參考解析:本題考查數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識。選項A是正確的。一個線性表是n個元素的有限序列(n≥0)。由于字符串是由字符構(gòu)成的序列,因此符合線性表的定義。選項B是錯誤的。長度為0字符串稱為空串(即不包含字符的串),而空白串是指由空白符號(空格、制表符等)構(gòu)成的串,其長度不為0。選項C是錯誤的。串的模式匹配算法是指在串中查找指定的模式串是否出現(xiàn)及其位置。選項D是錯誤的。兩個字符串比較時,按照、對應(yīng)字符(編碼)的大小關(guān)系進行比較。(63.)設(shè)數(shù)組A[1..m,1..n]的每個元素占用1個存儲單元,對于數(shù)組元素A[i,j](1≤i≤m,1≤j≤n),在按行存儲方式下,其相對于數(shù)組空間首地址的偏移量為(請作答此空);在按列存儲方式下,其相對于數(shù)組空間首地址的偏移量為()。A.i*(n-1)+jB.(i-1)*n+j-1C.i*(m-1)+jD.(i-1)*m+j-1正確答案:B參考解析:本題考查數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識。數(shù)組A[1..m,1..n]的元素排列如下。解答該問題需先計算排列在a[i,j]之前的元素個數(shù)。按行方式存儲下,元素a[i,j]之前有i-1行,每行n個元素,在第i行上a[i,j]之前有j-1個元素,因此,a[i,j]之前共有(i-1)*n+j-1個元素。在按列存儲方式下,元素a[i,j]之前有i-1列,每列m個元素,在a[i,j]所在列(即第j列),排在它之前的元素有i-1個,因此,a[i,j]之前共有(i-1)*m+i-1個元素。數(shù)組中指定元素的存儲位置相對于數(shù)組空間首地址的偏移量等于k*d,其中k為排在該元素前的元素個數(shù),d為每個元素占用的存儲單元數(shù)。(64.)()不符合二叉排序樹的定義。A.見圖AB.見圖BC.見圖CD.見圖D正確答案:A參考解析:本題考查數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識。二叉排序樹又稱為二叉查找樹,它或者是一棵空樹,或者是具有如下性質(zhì)的二叉樹:①若它的左子樹非空,則左子樹上所有結(jié)點的值均小于根結(jié)點的值。②若它的右子樹非空,則右子樹上所有結(jié)點的值均大于根結(jié)點的值。③左、右子樹本身就是兩棵二叉排序樹。對于選項A所示的二叉樹,以30為根的子樹不符合二叉排序樹的定義。(65.)若待排序記錄按關(guān)鍵字基本有序,則宜采用的排序方法是()。A.直接插入排序B.堆排序C.快速排序D.簡單選擇排序正確答案:A參考解析:本題考查數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識。根據(jù)直接插入排序、堆排序、快速排序和簡單選擇排序各種方法的排序過程可知,在關(guān)鍵碼序列基本有序的情況下,直接插入排序法最為適宜。(66.)某有向圖G及其鄰接矩陣如下所示。以下關(guān)于圖的鄰接矩陣存儲的敘述中,錯誤的是()。A.有向圖的鄰接矩陣可以是對稱矩陣B.第i行的非零元素個數(shù)為頂點i的出度C.第i行的非零元素個數(shù)為頂點i的入度D.有向圖的鄰接矩陣中非零元素個數(shù)為圖中弧的數(shù)目正確答案:C參考解析:本題考查數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識。圖中頂點v的度是指關(guān)聯(lián)于該頂點的邊的數(shù)目,若為有向圖,頂點的度表示該頂點的入度和出度之和。圖的鄰接矩陣表示法利用一個矩陣來表示圖中頂點之間的關(guān)系。矩陣元素的值設(shè)置如下:對于題中所給的圖,各頂點的度如下表所示:顯然,鄰接矩陣中每一行的非零元素個數(shù)對應(yīng)一個頂點的出度,每一列的非零元素個數(shù)對應(yīng)一個頂點的入度。(67.)設(shè)有關(guān)鍵碼序列(10,40,30,20),根據(jù)該序列構(gòu)建的二叉排序樹是()。A.見圖AB.見圖BC.見圖CD.見圖D正確答案:C參考解析:本題考查數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識。二叉排序樹又稱為二叉查找樹,它或者是一棵空樹,或者是具有如下性質(zhì)的二叉樹:若它的左子樹非空,則左子樹上所有結(jié)點的值均小于根結(jié)點的值:若它的右子樹非空,則右子樹上所有結(jié)點的值均大于根結(jié)點的值:左、右子樹本身就是二叉排序樹。二叉查找樹是通過依次輸入數(shù)據(jù)元素并把它們插入到二叉樹的適當位置上構(gòu)造起來的,具體的過程是:每讀入一個元素,建立一個新結(jié)點,若二叉查找樹非空,則將新結(jié)點的值與根結(jié)點的值相比較,如果小于根結(jié)點的值,則插入到左子樹中,否則插入到右子樹中:若二叉查找樹為空,則新結(jié)點作為二叉查找樹的根結(jié)點。選項A所示的二叉樹結(jié)點30與其右孩子的關(guān)系不滿足二叉排序樹的定義。選項B滿足二叉排序樹的定義,但與輸入序列不符。根據(jù)輸入序列,根結(jié)點應(yīng)為10。選項C是正確的。選項D不是二叉排序樹,以10為例,顯然10小于20,它應(yīng)該在20的左子樹上。(68.)若元素a、b、c、d、e、f依次進棧,允許進棧、出棧操作交替進行。但不允許連續(xù)三次進行出棧工作,則不可能得到的出棧序列是()。A.dcebtaB.cbdaefC.bcaetdD.afedcb正確答案:D參考解析:本題考查數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識。對于選項A的出棧序列dcebfa,其操作序列為:push(a入)、push(b入)、push(c入)、push(d入)、pop(d出)、pop(c出)、push(e入)、pop(e出)、pop(b出)、push(f入)、pop(f出)、pop(a出)。對于選項B的出棧序列cbdaef,其操作序列為:push(a入)、push(b入)、push(c入)、pop(c出)、pop(b出)、push(d入)、pop(d出)、pop(a出)、push(e入)、pop(e出)、push(f入)、pop(f出)。對于選項C的出棧序列bcaefd,其操作序列為:push(a入)、push(b入)、pop(b出)、push(c入)、pop(c出)、pop(a出)、push(d入)、push(e入)、pop(e出)、push(f入)、pop(f出)、pop(d出)。對于選項D的出棧序列afedcb,其操作序列為:push(a入)、pop(a出)、push(b入)、push(c入)、push(d入)、push(e入)、push(f入)、pop(f出)、pop(e出)、pop(d出)、pop(c出)、pop(b出),存在連續(xù)5次的出棧操作,違背題中所述的運算要求。(69.)含有n個元素的線性表采用順序存儲,等概率刪除其中任一個元素,平均需要移動()個元素。A.nB.lognC.(n-1)/2D.(n2)/2正確答案:C參考解析:本題考查數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識。在表長為n的線性表中刪除一個元素時,共有n個可刪除的元素。刪除a1時需要移動n-1個元素,刪除an時不需要移動元素,因此,等概率下刪除一個元素時平均的移動元素個數(shù)Edelete為其中,qi表示刪除第i個元素(aj)的概率。(70.)已知字符串s='(X+Y)+Z',其中,單引號不是字符串的內(nèi)容,經(jīng)過以下運算后,t3的值是()。t1=SubString(s,3,1)t2=Concat('XY',t1)t3=Replace(s,SubString(s,1,5),t2)注:SubString(s,k,n)表示從串s的第k個字符開始取出長度為n的子串,Concat(s,t)表示將串t連接在s之后,Replace(s,t,r)表示用r替換串s中的子串t。A.'XY+Z*'B.'(X+Z)*Y'C.'XYZ+*'D.'XY+*Z'正確答案:D參考解析:本題考查數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識。t1=SubString(s,3,1)=SubString('(X+Y)*Z',3,1)='+'t2=Concat('XY',t1)=Concat('XY','+')='xY+'t3=Replace(s,SubString(s,1,5),t2)=Replace('(X+Y)*Z','(X+Y)','xY+')='XY+*Z'(71.)37支籃球隊舉行淘汰賽爭奪冠軍,每場球賽的勝者(無平局)或輪空者進入下一輪賽,共需進行()比賽。A.5輪28場B.5輪30場C.6輪31場D.6輪36場正確答案:D參考解析:本題考查應(yīng)用數(shù)學(xué)基礎(chǔ)知識。淘汰賽沒有平局,每場比賽淘汰1個隊。總共37個隊,需要掏汰36個隊才能賽出冠軍,因此共需要比賽36場。各輪比賽的情況如下:第1輪:共37隊,比賽18場,輪空1隊,賽后留下19隊;第2輪:共19隊,比賽9場,輪空1隊,賽后留下10隊;第3輪:共10隊,比賽5場,賽后留下5隊;第4輪:共5隊,比賽2場,輪空1隊,賽后留下3隊;第5輪:共3隊,比賽l場,輪空1隊,賽后留下2隊;第6輪:共2隊,比賽1場,賽后留下1個冠軍隊。問答題(共4題,共4分)(72.)閱讀下列說明和圖,回答問題,將解答填入答題紙的對應(yīng)欄內(nèi)。閱讀以下說明和C函數(shù),將應(yīng)填入(n)處的語句或語句成分寫在答題紙的對應(yīng)欄內(nèi)。【說明1】函數(shù)deldigit(char*s)的功能是將字符串s中的數(shù)字字符去掉,使剩余字符按原次序構(gòu)成一個新串,并保存在原串空間中。其思路是:先申請一個與s等長

溫馨提示

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

評論

0/150

提交評論