《計(jì)算機(jī)算法設(shè)計(jì)和分析》習(xí)題及答案解析_第1頁
《計(jì)算機(jī)算法設(shè)計(jì)和分析》習(xí)題及答案解析_第2頁
《計(jì)算機(jī)算法設(shè)計(jì)和分析》習(xí)題及答案解析_第3頁
《計(jì)算機(jī)算法設(shè)計(jì)和分析》習(xí)題及答案解析_第4頁
《計(jì)算機(jī)算法設(shè)計(jì)和分析》習(xí)題及答案解析_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、計(jì)算機(jī)算法設(shè)計(jì)與分析習(xí)題及答案選擇題1、二分搜索算法是利用(A)實(shí)現(xiàn)的算法。A分治策略B、動(dòng)態(tài)規(guī)劃法 G貪心法D、回溯法2、下列不是動(dòng)態(tài)規(guī)劃算法基本步驟的是(A)。A找出最優(yōu)解的性質(zhì)?B、構(gòu)造最優(yōu)解??C、算出最優(yōu)解 口定義最優(yōu)解3、最大效益優(yōu)先是(?A)的一搜索方式。A分支界限法???B、動(dòng)態(tài)規(guī)劃法??C、貪心法Dk回溯法4 .回溯法解旅行售貨員問題時(shí)的解空間樹是(A)。A子集樹B、排列樹C、深度優(yōu)先生成樹 Dk廣度優(yōu)先生成樹5 .下列算法中通常以自底向上的方式求解最優(yōu)解的是(??B?)。A、備忘錄法B、動(dòng)態(tài)規(guī)劃法 G貪心法D、回溯法6、衡量一個(gè)算法好壞的標(biāo)準(zhǔn)是(C)。A運(yùn)行速度快B占用空間

2、少C時(shí)間復(fù)雜度低D代碼短7、以下不可以使用分治法求解的是(D)。A棋盤覆蓋問題 B選擇問題C歸并排序D0/1背包問題8 .實(shí)現(xiàn)循環(huán)賽日程表利用的算法是(?A)。A、分治策略B、動(dòng)態(tài)規(guī)劃法 G貪心法D、回溯法9 .下面不是分支界限法搜索方式的是(?D?)。A、廣度優(yōu)先B、最小耗費(fèi)優(yōu)先 C、最大效益優(yōu)先 D深度優(yōu)先10 .下列算法中通常以深度優(yōu)先方式系統(tǒng)搜索問題解的是(?D?)。A、備忘錄法B、動(dòng)態(tài)規(guī)劃法 G貪心法D、回溯法11 .備忘錄方法是那種算法的變形。(B)A、分?B法B、動(dòng)態(tài)規(guī)劃法 C貪心法D、回溯法12 .哈夫曼編碼的貪心算法所需的計(jì)算時(shí)間為(?B?)。A、O (n2n) R O (n

3、logn) C、O (2n) D O (n)13 .分支限界法解最大團(tuán)問題時(shí),活結(jié)點(diǎn)表的組織形式是(?B?)。A、最小堆B、最大堆C、棧D數(shù)組14 .最長公共子序列算法利用的算法是(?B?)。A、分支界限法B、動(dòng)態(tài)規(guī)劃法 C、貪心法H回溯法15 .實(shí)現(xiàn)棋盤覆蓋算法利用的算法是(??A)。A、分?B法B、動(dòng)態(tài)規(guī)劃法 C貪心法D、回溯法16 .下面是貪心算法的基本要素的是(??C?)。A、重疊子問題B、構(gòu)造最優(yōu)解 C、貪心選擇性質(zhì) D定義最優(yōu)解17 .回溯法的效率不依賴于下列哪些因素(D)A.滿足顯約束的值的個(gè)數(shù)B.計(jì)算約束函數(shù)的時(shí)間C.計(jì)算限界函數(shù)的時(shí)間D.確定解空間的時(shí)間18 .下面哪種函數(shù)是

4、回溯法中為避免無效搜索采取的策略(??B?)A.遞歸函數(shù)B.剪枝函數(shù) C隨機(jī)數(shù)函數(shù) D.搜索函數(shù)19 . (?D?)是貪心算法與動(dòng)態(tài)規(guī)劃算法的共同點(diǎn)。A、重疊子問題B、構(gòu)造最優(yōu)解 C、貪心選擇性質(zhì) D最優(yōu)子結(jié)構(gòu)性質(zhì)20 .矩陣連乘問題的算法可由(B)設(shè)計(jì)實(shí)現(xiàn)。A、分支界限算法 B、動(dòng)態(tài)規(guī)劃算法 C、貪心算法 D回溯算法21.分支限界法解旅行售貨員問題時(shí),活結(jié)點(diǎn)表的組織形式是(A)。A、最小堆B、最大堆C、棧D數(shù)組22、Strassen矩陣乘法是利用(?A)實(shí)現(xiàn)的算法。A分治策略B、動(dòng)態(tài)規(guī)劃法 G貪心法D、回溯法23、使用分治法求解不需要滿足的條件是(A)。A子問題必須是一樣的 B子問題不能夠重

5、復(fù)C子問題的解可以合并 D原問題和子問題使用相同的方法解24、下面問題(B)不能使用貪心法解決。A單源最短路徑問題 BN皇后問題C最小生成樹問題D背包問題25、下列算法中不能解決 0/1背包問題的是(AA貪心法B動(dòng)態(tài)規(guī)劃C回溯法D分支限界法26、回溯法搜索狀態(tài)空間樹是按照(C)的順序。A中序遍歷B廣度優(yōu)先遍歷 C深度優(yōu)先遍歷 D層次優(yōu)先遍歷27 .實(shí)現(xiàn)合并排序利用的算法是(??A?)。A、分治策略B、動(dòng)態(tài)規(guī)劃法 G貪心法D、回溯法28 .下列是動(dòng)態(tài)規(guī)劃算法基本要素的是(?D?)。A、定義最優(yōu)解B、構(gòu)造最優(yōu)解 C、算出最優(yōu)解 D子問題重疊性質(zhì)29 .下列算法中通常以自底向下的方式求解最優(yōu)解的是(

6、B)。A分?B法B、動(dòng)態(tài)規(guī)劃法 C貪心法D、回溯法30.采用廣度優(yōu)先策略搜索的算法是(??A?)。A分支界限法B、動(dòng)態(tài)規(guī)劃法 C、貪心法H回溯法31、合并排序算法是利用(?A)實(shí)現(xiàn)的算法。A分治策略B、動(dòng)態(tài)規(guī)劃法 G貪心法D、回溯法32、背包問題的貪心算法所需的計(jì)算時(shí)間為(B)A O (n2n) B O (nlogn) C、O (2n) D O (n)33 .實(shí)現(xiàn)大整數(shù)的乘法是利用的算法(??C?)。A貪心法B、動(dòng)態(tài)規(guī)劃法 C分治策略D、回溯法34 . 0-1背包問題的回溯算法所需的計(jì)算時(shí)間為(??A?)A O (n2n) R O (nlogn) C、O (2n) D O (n)35 .采用最

7、大效益優(yōu)先搜索方式的算法是(?A?)。A分支界限法B、動(dòng)態(tài)規(guī)劃法 C、貪心法H回溯法36 .貪心算法與動(dòng)態(tài)規(guī)劃算法的主要區(qū)別是(?B?)。A最優(yōu)子結(jié)構(gòu)B、貪心選擇性質(zhì) C、構(gòu)造最優(yōu)解 D定義最優(yōu)解37 .實(shí)現(xiàn)最大子段和利用的算法是(?B)。A分治策略B、動(dòng)態(tài)規(guī)劃法 G貪心法D、回溯法38 .優(yōu)先隊(duì)列式分支限界法選取擴(kuò)展結(jié)點(diǎn)的原則是(C)。A先進(jìn)先出B、后進(jìn)先出 C結(jié)點(diǎn)的優(yōu)先級 D隨機(jī)39 .背包問題的貪心算法所需的計(jì)算時(shí)間為(?B?)。A O (n2n) R O (nlogn) C、O (2n) D O (n)40、廣度優(yōu)先是(??A?)的一搜索方式。A分支界限法???B、動(dòng)態(tài)規(guī)劃法??C、貪

8、心法???D、回溯法41 . 一個(gè)問題可用動(dòng)態(tài)規(guī)劃算法或貪心算法求解的關(guān)鍵特征是問題的( B)。A重疊子問題B、最優(yōu)子結(jié)構(gòu)性質(zhì) C、貪心選擇性質(zhì) D、定義最優(yōu)解42 .采用貪心算法的最優(yōu)裝載問題的主要計(jì)算量在于將集裝箱依其重量從小到大排序,故算法的時(shí)間復(fù)雜度為(B)。A O (n2n) B O (nlogn) C、O (2n) D O (n)43 .以深度優(yōu)先方式系統(tǒng)搜索問題解的算法稱為(D)。A分支界限算法 B、概率算法C、貪心算法 D回溯算法44 .實(shí)現(xiàn)最長公共子序列利用的算法是(?B?)。A分治策略B、動(dòng)態(tài)規(guī)劃法 G貪心法D、回溯法45 .Hanoi塔問題如下圖所示?,F(xiàn)要求將塔座A上的的

9、所有圓盤移到塔座B上,并仍按同樣順序疊置。移動(dòng)圓盤時(shí)遵守Hanoi塔問題的移動(dòng)規(guī)則。由此設(shè)計(jì)出解 Hanoi塔問題的遞歸算法正確的為:(B)Hanoi 塔B.重疊子問題性質(zhì)與貪心選擇性質(zhì)LL4intA-intB)o:貪心選擇性質(zhì)由重疊子問題性質(zhì)D.預(yù)排序與遞歸力般具有的重要性質(zhì)為:A.voidhanoKintRintAJntC.jntC) C(nidhanoi(intn,intC,intB,intA)4moven費(fèi)b)f法錄最優(yōu)解的問題,(A)目用hAno船-1偏B,A)與貪心選擇性質(zhì)B.重疊子問題性質(zhì)貪心選擇性質(zhì)C.最優(yōu)子結(jié)構(gòu)性質(zhì)與重疊子問題性質(zhì)D.預(yù)排序與遞歸調(diào)用48 .回溯法在問題的解空

10、間樹中,按(D)策略,從根結(jié)點(diǎn)出發(fā)搜索解空間樹。A.廣度優(yōu)先B.活結(jié)點(diǎn)優(yōu)先C.擴(kuò)展結(jié)點(diǎn)優(yōu)先D.深度優(yōu)先49 .分支限界法在問題的解空間樹中,按(A)策略,從根結(jié)點(diǎn)出發(fā)搜索解空間樹。A.廣度優(yōu)先B.活結(jié)點(diǎn)優(yōu)先C.擴(kuò)展結(jié)點(diǎn)優(yōu)先D.深度優(yōu)先50 .程序塊(A)是回溯法中遍歷排列樹的算法框架程序。D.51.常見 A.廣 B.隊(duì)4 C.排4 D.隊(duì)4、填空題if(legal(t)backtrack(t+1);A.B.C.1 .算法的復(fù)雜性有時(shí)間復(fù)雜性和空間復(fù)雜性之分。2、程序是算法???用某種程序設(shè)計(jì)語言的具體實(shí)現(xiàn)。3、算法的“確定性”指的是組成算法的每條指令是清晰的,無歧義的。4.矩陣連乘問題的算法可

11、由動(dòng)態(tài)規(guī)劃設(shè)計(jì)實(shí)現(xiàn)。5、算法是指解決問題的一種方法或一個(gè)過程。6、從分治法的一般設(shè)計(jì)模式可以看出,用它設(shè)計(jì)出的程序一般是遞歸算迅7、問題的最優(yōu)子結(jié)構(gòu)性質(zhì)是該問題可用動(dòng)態(tài)規(guī)劃算法或貪心算法求解的關(guān)鍵特征。8、以深度優(yōu)先方式系統(tǒng)搜索問題解的算法稱為回溯叁9、計(jì)算一個(gè)算法時(shí)間復(fù)雜度通??梢杂?jì)算循環(huán)次數(shù)、基本操作的頻率或計(jì)算步。10、解決0/1背包問題可以使用動(dòng)態(tài)規(guī)劃、回溯法和分支限界法,其中不需要排序的是動(dòng)態(tài)規(guī)劃,需要排序 的是回溯法,分支限界法。11、使用回溯法進(jìn)行狀態(tài)空間樹裁剪分支時(shí)一般有兩個(gè)標(biāo)準(zhǔn):約束條件和目標(biāo)函數(shù)的界,N皇后問題和0/1背包問題正好是兩種不同的類型, 其中同時(shí)使用約束條件和目

12、標(biāo)函數(shù)的界進(jìn)行裁剪的是0/1背包問題,只使用約束條件進(jìn)行裁剪的是 N皇后問題。12、貪心選擇性質(zhì)是貪心算法可行的第一個(gè)基本要素,也是貪心算法與動(dòng)態(tài)規(guī)劃算法的主要區(qū)別。13、矩陣連乘問題的算法可由動(dòng)態(tài)規(guī)劃設(shè)計(jì)實(shí)現(xiàn)。14.貪心算法的基本要素是貪心選擇性質(zhì)和最優(yōu)子結(jié)構(gòu)性質(zhì)。15.動(dòng)態(tài)規(guī)劃算法的基本思想是將待求解問題分解成若干子問題軍子問題,然后從這些子問題的解得 到原問題的解。16.算法是由若干條指令組成的有窮序列,且要滿足輸入、輸出、確定性和有限性四條性質(zhì)。17、大整數(shù)乘積算法是用分治法來設(shè)計(jì)的。18、以廣度優(yōu)先或以最小耗費(fèi)方式搜索問題解的算法稱為分支限界法。19、貪心選擇性質(zhì)是貪心算法可行的第一

13、個(gè)基本要素,也是貪心算法與動(dòng)態(tài)規(guī)劃算法的主要區(qū)別。20 .快速排序算法是基于分治策略的一種排序算法。21 .動(dòng)態(tài)規(guī)劃算法的兩個(gè)基本要素是.最優(yōu)子結(jié)構(gòu)性質(zhì)和重疊子問題性質(zhì)。22 .回溯法是一種既帶有系統(tǒng)性又帶有跳躍性的搜索算法。23 .分支限界法主要有隊(duì)列式(FIFO)分支限界法和優(yōu)先隊(duì)列式分支限界法。24 .分支限界法是一種既帶有系統(tǒng)性又帶有跳躍性的搜索算法。25 .回溯法搜索解空間樹時(shí),常用的兩種剪枝函數(shù)為約束函數(shù)和限界函數(shù)。26 .任何可用計(jì)算機(jī)求解的問題所需的時(shí)間都與其規(guī)模有關(guān)。27 .快速排序算法的性能取決于劃分的對稱性。28 .所謂貪心選擇性質(zhì)是指所求問題的整體最優(yōu)解可以通過一系列局

14、部最優(yōu)的選擇,即貪心選擇來達(dá)到。29 .所謂最優(yōu)子結(jié)構(gòu)性質(zhì)是指問題的最優(yōu)解包含了其子問題的最優(yōu)解。30 .回溯法是指具有限界函數(shù)的深度優(yōu)先生成法。一31 .用回溯法解題的一個(gè)顯著特征是在搜索過程中動(dòng)態(tài)產(chǎn)生問題的解空間。在任何時(shí)刻,算法只保存從根結(jié) 點(diǎn)到當(dāng)前擴(kuò)展結(jié)點(diǎn)的路徑。如果解空間樹中從根結(jié)點(diǎn)到葉結(jié)點(diǎn)的最長路徑的長度為h(n),則回溯法所需的計(jì)算空間通常為O(h(n) Jo32 .回溯法的算法框架按照問題的解空間一般分為子集樹算法框架與排列樹算法框架。33 .用回溯法解0/1背包問題時(shí),該問題的解空間結(jié)構(gòu)為子集樹結(jié)構(gòu)。34 .用回溯法解批處理作業(yè)調(diào)度問題時(shí),該問題的解空間結(jié)構(gòu)為排列樹結(jié)構(gòu)。35

15、 .旅行售貨員問題的解空間樹是排列樹。三、算法填空1 .背包問題的貪心算法voidKnapsack(intn,floatM,floatv口,floatw口,floatx口)/重量為w1.n, 價(jià)值為v1.n的n個(gè)物品,裝入容量為M的背包/用貪心算法求最優(yōu)解向量x1.ninti;Sort(n,v,w);for(i=1;i=n;i+)xi=0;floatc=M;for(i=1;ic)break;xi=1;c-=wi;if(i=n)xi=c/wi;2 .最大子段和:動(dòng)態(tài)規(guī)劃算法intMaxSum(intn,inta)intsum=0,b=0 ; /sum 存儲(chǔ)當(dāng)前最大的 bj,b 存儲(chǔ) bjfor(

16、intj=1 ; j0)b+=aj;elseb=ai; ; / 一旦某個(gè)區(qū)段和為負(fù),則從下一個(gè)位置累和 if(bsum)sum=b; returnsum ;3 .貪心算法求活動(dòng)安排問題 templatevoid GreedySelector (intn,Types口,Typef,boolA) A1=true; intj=1;for(inti=2;i=fj)Ai=true; j=i; elseAi=false;4 .快速排序template void QuickSort (Typea,intp,intr) if(pr) intq=Partition(a,p,r); QuickSort(a,p,q

17、-1);對左半段排序QuickSort(a,q+1,r);對右半段排序X . 5 .回溯法解迷宮問題迷宮用二維數(shù)組存儲(chǔ),用H表示墻,O表示通道 intx1,y1,success=0;/ 出口點(diǎn)voidMazePath(intx,inty)/遞歸求解:求迷宮maze從入口(x,y)到出口(x1,y1)的一條路徑 mazexy尸*;/路徑置為*if(x=x1)&(y=y1)success=1;/ 到出口 則成功 elseif(mazexy+1=O)MazePath(x,+y);/東鄰方格是通路,向東嘗試if(!success)&(mazex+1y=O)MazePath(+x,y);/不成功且南鄰方

18、格是通路,向南嘗試if(!success)&(mazexy-1=O)MazePath(x,-y);/不成功且西鄰方格是通路,向西嘗試if(!success)&(mazex-1y=O)MazePath(-x,y);/不成功且北鄰方格是通路,向北嘗試if(!success)mazexy=;死胡同置為 四、算法設(shè)計(jì)題1 .給定已按升序排好序的 n個(gè)元素a0:n-1,現(xiàn)要在這n個(gè)元素中找出一特定元素x,返回其在數(shù)組中的位置,如果未找到返回-1。寫出二分搜索的算法,并分析其時(shí)間復(fù)雜度。templateintBinarySearch(Typea口,constType&x,intn)/在a0:n中搜索x,找

19、到x時(shí)返回其在數(shù)組中的位置,否則返回-1Intleft=0;intright=n-1;While(leftamiddle)left=middle+1;elseright=middle-1;Return-1;時(shí)間復(fù)雜性為O(logn)2 .利用分治算法寫出合并排序的算法,并分析其時(shí)間復(fù)雜度voidMergeSort(Typea,intleft,intright) if(leftright)至少有2個(gè)元素inti=(left+right)取中點(diǎn)mergeSort(a,left,i);mergeSort(a,i+1,right);merge(a,b,left,i,right);/合并到數(shù)組 bcop

20、y(a,b,left,right);/ 復(fù)制回?cái)?shù)組 a 算法在最壞情況下的時(shí)間復(fù)雜度為O(nlogn)。3 .N皇后回溯法boolQueen:Place(intk)/檢查xk位置是否合法for(intj=1;jn)sum+;elsefor(inti=1;in)/到達(dá)葉結(jié)點(diǎn)for(intj=1;j=n;j+)bestxj=xj; bestn=cn;return; /檢查頂點(diǎn)i與當(dāng)前團(tuán)的連接 intOK=1; for(intj=1;jbestn)進(jìn)入右子樹xi=0; Backtrack(i+1); 5.順序表存儲(chǔ)表示如下: I ; .-typedefstruct RedTyperMAXSIZE+1;/ 順序表 intlength;/順序表長

溫馨提示

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

評論

0/150

提交評論