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

下載本文檔

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

文檔簡介

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

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

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

4、的時間C. 計算限界函數(shù)的時間D. 確定解空間的時間18. 下面哪種函數(shù)是回溯法中為避免無效搜索采取的策略(B )A.遞歸函數(shù)B.剪枝函數(shù)C 。隨機數(shù)函數(shù)D.搜索函數(shù)19. (D)是貪心算法與動態(tài)規(guī)劃算法的共同點。A、重疊子問題B、構(gòu)造最優(yōu)解 C、貪心選擇性質(zhì)D、最優(yōu)子結(jié)構(gòu)性質(zhì)20. 矩陣連乘問題的算法可由(B )設計實現(xiàn)。A、分支界限算法B 、動態(tài)規(guī)劃算法C、貪心算法D、回溯算法21. 分支限界法解旅行售貨員問題時,活結(jié)點表的組織形式是(A ) 。A最小堆 B、最大堆 C 、棧 D 、數(shù)組22、 Strassen 矩陣乘法是利用(A )實現(xiàn)的算法。A、分治策略B 、動態(tài)規(guī)劃法C、貪心法 D、

5、回溯法23、使用分治法求解不需要滿足的條件是(A ) 。A 子問題必須是一樣的B 子問題不能夠重復C 子問題的解可以合并D 原問題和子問題使用相同的方法解24、下面問題(B )不能使用貪心法解決。A 單源最短路徑問題B N 皇后問題C 最小生成樹問題D 背包問題25、下列算法中不能解決0/1 背包問題的是(A )A 貪心法 B 動態(tài)規(guī)劃C 回溯法 D 分支限界法26、回溯法搜索狀態(tài)空間樹是按照(C )的順序。A 中序遍歷B 廣度優(yōu)先遍歷C 深度優(yōu)先遍歷D 層次優(yōu)先遍歷27實現(xiàn)合并排序利用的算法是(A ) 。A、分治策略B、動態(tài)規(guī)劃法C、貪心法 D、回溯法28下列是動態(tài)規(guī)劃算法基本要素的是(D

6、) 。A、定義最優(yōu)解 B、構(gòu)造最優(yōu)解 C、算出最優(yōu)解 D、子問題重疊性質(zhì)29下列算法中通常以自底向下的方式求解最優(yōu)解的是(B ) 。A、分治法 B、動態(tài)規(guī)劃法 C、貪心法 D、回溯法30采用廣度優(yōu)先策略搜索的算法是(A ) 。A、分支界限法B、動態(tài)規(guī)劃法 C、貪心法 D、回溯法31、合并排序算法是利用(A )實現(xiàn)的算法。A、分治策略B、動態(tài)規(guī)劃法C、貪心法 D、回溯法32、背包問題的貪心算法所需的計算時間為(B )A、O(n2n)B 、O(nlogn ) C 、O(2n)D 、O(n)33實現(xiàn)大整數(shù)的乘法是利用的算法(C ) 。A、貪心法B、動態(tài)規(guī)劃法 C、分治策略 D、回溯法34 0-1 背

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

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

9、 )。A、分治策略 B、動態(tài)規(guī)劃法 C、貪心法 D、回溯法45. Hanoi塔問題如下圖所示?,F(xiàn)要求將塔座 A上的的所有圓盤移到塔座 B上,并仍按 同樣順序疊置。移動圓盤時遵守 Hanoi塔問題的移動規(guī)則。由此設計出解Hanoi塔問題的遞 歸算法正確的為:(B)A. void hanoi(int n, int A, int C, int B)B.vfidr,ha°oi(int n, int A, int B, int C)Cvoi由an0)( (禰A,Cn 電 int B, int A)Hanoi 塔4D,及 (n吊i翅吟童心送擇性質(zhì))int A, ini B)一問題性質(zhì)就斷0蠢謊南

10、禍問題,-47.”采A.九hwoHn-1岫撮心A)擇性質(zhì)B .重疊子問D.預排序與般具有的重要性質(zhì)為題性質(zhì)與貪心選擇性質(zhì) 遞歸調(diào)用(A )C.捻優(yōu)子結(jié)構(gòu)性質(zhì)與重疊子問題性質(zhì) 48.回溯法在問題的解空間樹中,按(B .重疊子問題性質(zhì)與貪心選擇性質(zhì)D.預排序與遞歸調(diào)用D )策略,從根結(jié)點出發(fā)搜索解空間樹。50.A.B.C.D.51.A.B.C.D.voidVoid vod e e,backtrack, (int t) 鐮ipk溯t)Se廣度f 隊列X 排列樹隊效二、填空題常見勺兩D附冊法;奧法與堆R式4支限界法;es我臃蝴鬻皆族-1);swap (布片蝴;去與優(yōu)先隊列式分支限界法if (legal

11、(t) backtrack(t+1);1.算法的復雜性有時間復雜性和空間復雜性之分。A.廣度優(yōu)先 B.活結(jié)點優(yōu)先C.擴展結(jié)點優(yōu)先 D. 深度優(yōu)先49.分支限界法在問題的解空間樹中,按 (A )策略,從根結(jié)點出發(fā)搜索解空間樹。A.廣度優(yōu)先 B. 活結(jié)點優(yōu)先 C.擴展結(jié)點優(yōu)先D. 深度優(yōu)先 程序塊(A )是回溯法中遍歷排列樹的算法框架程序。2、程序是算法用某種程序設計語言的具體實現(xiàn)。3、算法的“確定性”指的是組成算法的每條指令是清晰的,無歧義的。4.矩陣連乘問題的算法可由動態(tài)規(guī)劃設計實現(xiàn)。5、算法是指解決問題的一種方法 或一個過程遞歸算法6、從分治法的一般設計模式可以看出,用它設計出的程序一般是7

12、、問題的最優(yōu)子結(jié)構(gòu)性質(zhì)是該問題可用動態(tài)規(guī)劃算法或貪心算法求解的關(guān)鍵特征。8、以深度優(yōu)先方式系統(tǒng)搜索問題解的算法稱為回溯法 。9、計算一個算法時間復雜度通??梢杂嬎阊h(huán)次數(shù)、基本操作的頻率或計算步。10、解決0/1背包問題可以使用動態(tài)規(guī)劃、回溯法和分支限界法, 其中不需要排序的是動態(tài)規(guī)劃 ,需要排序的是回溯法 ,分支限界法。11、使用回溯法進行狀態(tài)空間樹裁剪分支時一般有兩個標準:約束條件和目標函數(shù)的界,N皇后問題和0/1背包問題正好是兩種不同的類型,其中同時使用約束條件和目標函數(shù)的界進行裁剪的是 0/1背包問題,只使用約束條件進行裁剪的是N 皇后問題。12、 貪心選擇性質(zhì)是貪心算法可行的第一個基

13、本要素,也是貪心算法與動態(tài)規(guī)劃算法的主要區(qū)別。13、矩陣連乘問題的算法可由動態(tài)規(guī)劃設計實現(xiàn)。14 .貪心算法的基本要素是貪心選擇性質(zhì)和 最優(yōu)子結(jié)構(gòu) 性質(zhì)。15 .動態(tài)規(guī)劃算法的基本思想是將待求解問題分解成若干子問題,先求解子問題 ,然后從這些 子問題的解得到原問題的解。16 .算法是由若干條指令組成的有窮序列,且要滿足輸入、輸出、確定性和有限性四條性質(zhì)。17 、大整數(shù)乘積算法是用分治法 來設計的。18 、以廣度優(yōu)先或以最小耗費方式搜索問題解的算法稱為分支限界法 。19 、 貪心選擇性質(zhì)是貪心算法可行的第一個基本要素,也是貪心算法與動態(tài)規(guī)劃算法的主要區(qū)別。20 .快速排序算法是基于分治策略的一種

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

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

16、void Knapsack(int n,float M,float v,float w,float x口)n,價值為v1.n的n個物品,裝入容量為M的背包nint i; Sort(n,v,w);for (i=1;i<=n;i+) xi=0;float c=M;for (i=1;i<=n;i+)if (wi>c) break;xi=1;c-=w|jif (i<=n) xi=c/wi;2 .最大子段和:動態(tài)規(guī)劃算法int MaxSum(int n, int a)int sum=0, b=0;心算法求活動安排問題template<class Type>void G

17、reedySelector (int n, Type s, Type f, bool A) A1=true;int j=1;for (int i=2;i<=n;i+) if (si>=fj) Ai=true;j=i;else Ai=false;4 .快速排序template<class Type>void Quicksort (Type a, int p, int r)if (p<r)int q=Partition(a,p,r);Quicksort (a,p,q-1); 回溯法解迷宮問題迷宮用二維數(shù)組存儲,用'H'表示墻,'O'表示

18、通道int x1,y1,success=0;給定已按升序排好序的n個元素a0:n-1,現(xiàn)要在這n個元素中找出一特定元素 x,返回其在數(shù)組中的位置,如果未找到返回 -1。寫出二分搜索的算法,并分析其時間復雜度。template<class Type>int BinarySearch(Type a口,const Type& x, int n)利用分治算法寫出合并排序的算法,并分析其時間復雜度void MergeSort(Type a, int left, int right)if (left<right) 大團問題void Clique:Backtrack(int i)順序表存儲表示如下:typedef structRedType rMAXSIZE+1; high 的記錄 , 樞軸記錄

溫馨提示

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

評論

0/150

提交評論