(最新整理)算法分析復(fù)習(xí)題目及答案_第1頁
(最新整理)算法分析復(fù)習(xí)題目及答案_第2頁
(最新整理)算法分析復(fù)習(xí)題目及答案_第3頁
(最新整理)算法分析復(fù)習(xí)題目及答案_第4頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、(完整)算法分析復(fù)習(xí)題目及答案(完整)算法分析復(fù)習(xí)題目及答案 編輯整理:尊敬的讀者朋友們:這里是精品文檔編輯中心,本文檔內(nèi)容是由我和我的同事精心編輯整理后發(fā)布的,發(fā)布之前我們對文中內(nèi)容進行仔細校對,但是難免會有疏漏的地方,但是任然希望((完整)算法分析復(fù)習(xí)題目及答案)的內(nèi)容能夠給您的工作和學(xué)習(xí)帶來便利。同時也真誠的希望收到您的建議和反饋,這將是我們進步的源泉,前進的動力。本文可編輯可修改,如果覺得對您有幫助請收藏以便隨時查閱,最后祝您生活愉快 業(yè)績進步,以下為(完整)算法分析復(fù)習(xí)題目及答案的全部內(nèi)容。一。選擇題1、二分搜索算法是利用(a )實現(xiàn)的算法。a、分治策略 b、動態(tài)規(guī)劃法 c、貪心法

2、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、在下列算法中有時找不到問題解的是(b )。a、蒙特卡羅算法 b、拉斯維加斯算法 c、舍伍德算法 d、數(shù)值概率算法5。 回溯法解旅行售貨員問題時的解空間樹是(b)。a、子集樹b、排列樹c、深度優(yōu)先生成樹d、廣度優(yōu)先生成樹6下列算法中通常以自底向上的方式求解最優(yōu)解的是(b )。a、備忘錄法b、動態(tài)規(guī)劃法c、貪心法d、回溯法7、衡量一個算法好壞的標準是(c ).a 運行速度快 b

3、占用空間少 c 時間復(fù)雜度低 d 代碼短8、以下不可以使用分治法求解的是(d )。a 棋盤覆蓋問題 b 選擇問題 c 歸并排序 d 0/1背包問題9。 實現(xiàn)循環(huán)賽日程表利用的算法是(a )。a、分治策略b、動態(tài)規(guī)劃法c、貪心法d、回溯法10、下列隨機算法中運行時有時候成功有時候失敗的是(c )a 數(shù)值概率算法 b 舍伍德算法 c 拉斯維加斯算法 d 蒙特卡羅算法11下面不是分支界限法搜索方式的是(d )。a、廣度優(yōu)先b、最小耗費優(yōu)先c、最大效益優(yōu)先d、深度優(yōu)先12下列算法中通常以深度優(yōu)先方式系統(tǒng)搜索問題解的是(d ).a、備忘錄法b、動態(tài)規(guī)劃法c、貪心法d、回溯法13.備忘錄方法是那種算法的變

4、形。( b )a、分治法b、動態(tài)規(guī)劃法c、貪心法d、回溯法14哈弗曼編碼的貪心算法所需的計算時間為(b ).a、o(n2n)b、o(nlogn)c、o(2n)d、o(n)15分支限界法解最大團問題時,活結(jié)點表的組織形式是(b )。a、最小堆b、最大堆 c、棧d、數(shù)組16最長公共子序列算法利用的算法是(b )。a、分支界限法b、動態(tài)規(guī)劃法c、貪心法d、回溯法17實現(xiàn)棋盤覆蓋算法利用的算法是(a )。a、分治法b、動態(tài)規(guī)劃法c、貪心法d、回溯法18.下面是貪心算法的基本要素的是(c )。a、重疊子問題b、構(gòu)造最優(yōu)解c、貪心選擇性質(zhì)d、定義最優(yōu)解19?;厮莘ǖ男什灰蕾囉谙铝心男┮蛩兀?d )a.滿

5、足顯約束的值的個數(shù) b. 計算約束函數(shù)的時間 c. 計算限界函數(shù)的時間 d. 確定解空間的時間20。下面哪種函數(shù)是回溯法中為避免無效搜索采取的策略(b )a遞歸函數(shù)b。剪枝函數(shù) c。隨機數(shù)函數(shù)d。搜索函數(shù)21、下面關(guān)于np問題說法正確的是(b )a np問題都是不可能解決的問題b p類問題包含在np類問題中c np完全問題是p類問題的子集d np類問題包含在p類問題中22、蒙特卡羅算法是(b )的一種。a、分支界限算法 b、概率算法 c、貪心算法 d、回溯算法23。下列哪一種算法不是隨機化算法(c )a。 蒙特卡羅算法b。 拉斯維加斯算法c.動態(tài)規(guī)劃算法d。舍伍德算法24。 (d )是貪心算法

6、與動態(tài)規(guī)劃算法的共同點。a、重疊子問題b、構(gòu)造最優(yōu)解c、貪心選擇性質(zhì)d、最優(yōu)子結(jié)構(gòu)性質(zhì)25。 矩陣連乘問題的算法可由(b)設(shè)計實現(xiàn)。a、分支界限算法 b、動態(tài)規(guī)劃算法 c、貪心算法 d、回溯算法26。 分支限界法解旅行售貨員問題時,活結(jié)點表的組織形式是(a )。a、最小堆b、最大堆 c、棧d、數(shù)組27、strassen矩陣乘法是利用(a )實現(xiàn)的算法。a、分治策略 b、動態(tài)規(guī)劃法 c、貪心法 d、回溯法29、使用分治法求解不需要滿足的條件是(a )。a 子問題必須是一樣的b 子問題不能夠重復(fù)c 子問題的解可以合并d 原問題和子問題使用相同的方法解30、下面問題(b )不能使用貪心法解決.a 單

7、源最短路徑問題 b n皇后問題 c 最小花費生成樹問題 d 背包問題31、下列算法中不能解決0/1背包問題的是(a )a 貪心法 b 動態(tài)規(guī)劃 c 回溯法 d 分支限界法33、下列隨機算法中運行時有時候成功有時候失敗的是(c )a 數(shù)值概率算法 b 舍伍德算法 c 拉斯維加斯算法 d 蒙特卡羅算法34實現(xiàn)合并排序利用的算法是(a )。a、分治策略b、動態(tài)規(guī)劃法c、貪心法d、回溯法35下列是動態(tài)規(guī)劃算法基本要素的是(d )。a、定義最優(yōu)解b、構(gòu)造最優(yōu)解c、算出最優(yōu)解d、子問題重疊性質(zhì)37采用廣度優(yōu)先策略搜索的算法是(a )。a、分支界限法b、動態(tài)規(guī)劃法c、貪心法d、回溯法38、合并排序算法是利用

8、(a )實現(xiàn)的算法。a、分治策略 b、動態(tài)規(guī)劃法 c、貪心法 d、回溯法39、在下列算法中得到的解未必正確的是(b )。a、蒙特卡羅算法 b、拉斯維加斯算法 c、舍伍德算法 d、數(shù)值概率算法40、背包問題的貪心算法所需的計算時間為(b )a、o(n2n) b、o(nlogn) c、o(2n) d、o(n)41實現(xiàn)大整數(shù)的乘法是利用的算法(c )。a、貪心法b、動態(tài)規(guī)劃法c、分治策略d、回溯法420-1背包問題的回溯算法所需的計算時間為(a )a、o(n2n)b、o(nlogn)c、o(2n)d、o(n)43采用最大效益優(yōu)先搜索方式的算法是(a )。a、分支界限法b、動態(tài)規(guī)劃法c、貪心法d、回溯

9、法44貪心算法與動態(tài)規(guī)劃算法的主要區(qū)別是(b ).a、最優(yōu)子結(jié)構(gòu)b、貪心選擇性質(zhì)c、構(gòu)造最優(yōu)解d、定義最優(yōu)解45。 實現(xiàn)最大子段和利用的算法是(b )。a、分治策略b、動態(tài)規(guī)劃法c、貪心法d、回溯法46。優(yōu)先隊列式分支限界法選取擴展結(jié)點的原則是(c ).a、先進先出b、后進先出c、結(jié)點的優(yōu)先級d、隨機47。背包問題的貪心算法所需的計算時間為(b )。a、o(n2n)b、o(nlogn)c、o(2n)d、o(n)48、廣度優(yōu)先是(a )的一搜索方式。a、分支界限法 b、動態(tài)規(guī)劃法 c、貪心法 d、回溯法49、舍伍德算法是(b )的一種。a、分支界限算法 b、概率算法 c、貪心算法 d、回溯算法5

10、0、在下列算法中有時找不到問題解的是(b ).a、蒙特卡羅算法 b、拉斯維加斯算法 c、舍伍德算法 d、數(shù)值概率算法51下列哪一種算法是隨機化算法(d )a。 貪心算法b。 回溯法c.動態(tài)規(guī)劃算法d.舍伍德算法52. 一個問題可用動態(tài)規(guī)劃算法或貪心算法求解的關(guān)鍵特征是問題的(b )。a、重疊子問題b、最優(yōu)子結(jié)構(gòu)性質(zhì)c、貪心選擇性質(zhì)d、定義最優(yōu)解53采用貪心算法的最優(yōu)裝載問題的主要計算量在于將集裝箱依其重量從小到大排序,故算法的時間復(fù)雜度為 ( b ) .a、o(n2n)b、o(nlogn)c、o(2n)d、o(n)54。 以深度優(yōu)先方式系統(tǒng)搜索問題解的算法稱為 ( d ) 。a、分支界限算法

11、b、概率算法 c、貪心算法 d、回溯算法55。 實現(xiàn)最長公共子序列利用的算法是(b )。a、分治策略b、動態(tài)規(guī)劃法c、貪心法d、回溯法二、 填空題 1。算法的復(fù)雜性有 時間 復(fù)雜性和 空間 復(fù)雜性之分。2、程序是 算法用某種程序設(shè)計語言的具體實現(xiàn)。3、算法的“確定性指的是組成算法的每條 指令 是清晰的,無歧義的。4。矩陣連乘問題的算法可由 動態(tài)規(guī)劃 設(shè)計實現(xiàn)。5、拉斯維加斯算法找到的解一定是 正確解.6、算法是指解決問題的 一種方法 或 一個過程 。7、從分治法的一般設(shè)計模式可以看出,用它設(shè)計出的程序一般是 遞歸算法 。8、問題的 最優(yōu)子結(jié)構(gòu)性質(zhì) 是該問題可用動態(tài)規(guī)劃算法或貪心算法求解的關(guān)鍵特

12、征。9、以深度優(yōu)先方式系統(tǒng)搜索問題解的算法稱為 回溯法 。10、數(shù)值概率算法常用于 數(shù)值問題 的求解.11、計算一個算法時間復(fù)雜度通??梢杂嬎?循環(huán)次數(shù) 、 基本操作的頻率 或計算步.12、利用概率的性質(zhì)計算近似值的隨機算法是_數(shù)值概率算法,運行時以一定的概率得到正確解的隨機算法是_蒙特卡羅算法_.14、解決0/1背包問題可以使用動態(tài)規(guī)劃、回溯法和分支限界法,其中不需要排序的是 動態(tài)規(guī)劃 ,需要排序的是 回溯法 ,分支限界法 。15、使用回溯法進行狀態(tài)空間樹裁剪分支時一般有兩個標準:約束條件和目標函數(shù)的界,n皇后問題和0/1背包問題正好是兩種不同的類型,其中同時使用約束條件和目標函數(shù)的界進行裁

13、剪的是 0/1背包問題 ,只使用約束條件進行裁剪的是 n皇后問題 .16、 貪心選擇性質(zhì) 是貪心算法可行的第一個基本要素,也是貪心算法與動態(tài)規(guī)劃算法的主要區(qū)別。17、矩陣連乘問題的算法可由 動態(tài)規(guī)劃 設(shè)計實現(xiàn)。18、拉斯維加斯算法找到的解一定是 正確解.19。貪心算法的基本要素是 貪心選擇 質(zhì)和 最優(yōu)子結(jié)構(gòu) 性質(zhì) 。21。 動態(tài)規(guī)劃算法的基本思想是將待求解問題分解成若干 子問題 ,先求解 子問題 ,然后從這些 子問題 的解得到原問題的解。22.算法是由若干條指令組成的有窮序列,且要滿足輸入、 輸出 、確定性和 有限性 四條性質(zhì)。23、大整數(shù)乘積算法是用 分治法 來設(shè)計的。24、以廣度優(yōu)先或以最

14、小耗費方式搜索問題解的算法稱為 分支限界法 。25、舍伍德算法總能求得問題的 一個解 。26、 貪心選擇性質(zhì) 是貪心算法可行的第一個基本要素,也是貪心算法與動態(tài)規(guī)劃算法的主要區(qū)別。27。快速排序算法是基于 分治策略 的一種排序算法。28。動態(tài)規(guī)劃算法的兩個基本要素是。 最優(yōu)子結(jié)構(gòu) 性質(zhì)和 重疊子問題 性質(zhì) 。 30?;厮莘ㄊ且环N既帶有 系統(tǒng)性 又帶有 跳躍性 的搜索算法。 31。分支限界法主要有 隊列式(fifo) 分支限界法和 優(yōu)先隊列式 分支限界法。32分支限界法是一種既帶有 系統(tǒng)性 又帶有 跳躍性 的搜索算法.33回溯法搜索解空間樹時,常用的兩種剪枝函數(shù)為 約束函數(shù) 和 限界函數(shù) 。34

15、。任何可用計算機求解的問題所需的時間都與其 規(guī)模 有關(guān)。35.快速排序算法的性能取決于 劃分的對稱性 。三、算法填空1.背包問題的貪心算法void knapsack(int n,float m,float v,float w,float x) sort(n,v,w); int i; for (i=1;i=n;i+) xi=0; float c=m; for (i=1;ic) break; xi=1; c - =wi; if (i=n) xi=c/wi;2.最大子段和: 動態(tài)規(guī)劃算法int maxsum(int n, int a) int sum=0, b=0; /sum存儲當前最大的bj, b

16、存儲bj for(int j=1; j0) b+= aj ; else b=ai; ; /一旦某個區(qū)段和為負,則從下一個位置累和 if(bsum) sum=b; return sum; 3.貪心算法求裝載問題templateclass typevoid loading(int x, type w, type c, int n) int t = new int n+1; ; for (int i = 1; i = n; i+) xi = 0; for (int i = 1; i = n wti = c; i+) xti = 1; ;4。貪心算法求活動安排問題templateclass typev

17、oid greedyselector(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; 5.快速排序templateclass typevoid quicksort (type a, int p, int r) if (pr) int q=partition(a,p,r); quicksort (a,p,q-1); /對左半段排序 quicksort (a,q+1,r); /對右半段排序 6.排列問題template clas

18、s typevoid perm(type list, int k, int m ) /產(chǎn)生listk:m的所有排列 if(k=m) /只剩下一個元素 for (int i=0;i=m;i+) coutlisti; coutendl; else /還有多個元素待排列,遞歸產(chǎn)生排列 for (int i=k; i=m; i+) swap(listk,listi); perm(list,k+1;m); swap(listk,listi); 四、問答題1.分治法的基本思想時將一個規(guī)模為n的問題分解為k個規(guī)模較小的子問題,這些子問題互相獨立且與原問題相同。遞歸地解這些子問題,然后將各個子問題的解合并得到

19、原問題的解。2設(shè)計動態(tài)規(guī)劃算法的主要步驟為:(1)找出最優(yōu)解的性質(zhì),并刻劃其結(jié)構(gòu)特征.(2)遞歸地定義最優(yōu)值。(3)以自底向上的方式計算出最優(yōu)值。(4)根據(jù)計算最優(yōu)值時得到的信息,構(gòu)造最優(yōu)解。3. 分治法與動態(tài)規(guī)劃法的相同點是:將待求解的問題分解成若干個子問題,先求解子問題,然后從這些子問題的解得到原問題的解。兩者的不同點是:適合于用動態(tài)規(guī)劃法求解的問題,經(jīng)分解得到的子問題往往不是互相獨立的.而用分治法求解的問題,經(jīng)分解得到的子問題往往是互相獨立的。4. 分支限界法與回溯法的相同點是:都是一種在問題的解空間樹t中搜索問題解的算法。不同點:(1)求解目標不同; (2)搜索方式不同; (3)對擴展結(jié)點的擴展方式不同; (4)存儲空間的要求不同.5用回溯法搜索子集樹的算法為:void backtrack (int t) if (tn) output(x); else for (int i=0;i int binarysearch(type a, const type x, int n)/在a0:n中搜索x,找到x時返回其在數(shù)組中的位置,否則返回1 int left=0; int right=n-1; while (leftamiddle) left=middle+1; else right=middle-1; return -1; 時間復(fù)雜性為

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論