




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選文檔算法分析與設(shè)計(jì)習(xí)題集整理第一章算法引論一、填空題:1、算法運(yùn)行所需要的計(jì)算機(jī)資源的量,稱為算法復(fù)雜性,主要包括時(shí)間復(fù)雜度和空間復(fù)雜度。2、多項(xiàng)式的上界為O(nm)。3、算法的基本特征:輸入、輸出、確定性、有限性 、可行性 。4、如何從兩個(gè)方面評(píng)價(jià)一個(gè)算法的優(yōu)劣:時(shí)間復(fù)雜度、空間復(fù)雜度。5、計(jì)算下面算法的時(shí)間復(fù)雜度記為: O(n3) 。for(i=1;i=n;i+)for(j=1;j=n;j+) cij=0; for(k=1;k=n;k+) cij= cij+aik*bkj; 6、描述算法常用的方法:自然語(yǔ)言、偽代碼、程序設(shè)計(jì)語(yǔ)言、流程圖、盒圖、PAD圖。7、算法設(shè)計(jì)的基本要求:正確性
2、和 可讀性。8、計(jì)算下面算法的時(shí)間復(fù)雜度記為: O(n2) 。 for(i1;in; i+) y=y+1; for(j0;j =2n;j+ ) x; 9、計(jì)算機(jī)求解問(wèn)題的步驟:?jiǎn)栴}分析、數(shù)學(xué)模型建立、算法設(shè)計(jì)與選擇、算法表示、算法分析、算法實(shí)現(xiàn)、程序調(diào)試、結(jié)果整理文檔編制。10、算法是指解決問(wèn)題的 方法或過(guò)程 。11、算法由操作、控制結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)三要素組成。二、簡(jiǎn)答題:1、按照時(shí)間復(fù)雜度從低到高排列:O( 4n2)、O( logn)、O( 3n)、O( 20n)、O( 2)、O( n2/3), O( n!)應(yīng)該排在哪一位?答:O( 2),O( logn),O( n2/3),O( 20n),O
3、( 4n2),O( 3n),O( n!)2、什么是算法?算法的特征有哪些?答:1)算法:指在解決問(wèn)題時(shí),按照某種機(jī)械步驟一定可以得到問(wèn)題結(jié)果的處理過(guò)程。通俗講,算法:就是解決問(wèn)題的方法或過(guò)程。2)特征:1)算法有零個(gè)或多個(gè)輸入;)算法有一個(gè)或多個(gè)輸出; 3)確定性 ; )有窮性3、給出算法的定義?何謂算法的復(fù)雜性?計(jì)算下例在最壞情況下的時(shí)間復(fù)雜性?for(j=1;j=n;j+) (1)for(i=1;i=n;i+) (2) cij=0; (3) for(k=1;k=n;k+) (4) cij= cij+aik*bkj; (5)答:1)定義:指在解決問(wèn)題時(shí),按照某種機(jī)械步驟一定可以得到問(wèn)題結(jié)果的
4、處理過(guò)程。 2)算法的復(fù)雜性:指的是算法在運(yùn)行過(guò)程中所需要的資源(時(shí)間、空間)多少。 所需資源越多,表明算法的復(fù)雜性越高 3)該算法的主要元操作是語(yǔ)句5,其執(zhí)行次數(shù)是n3次。故該算法的時(shí)間復(fù)雜度記為O(n3). 4、算法A和算法B解同一問(wèn)題,設(shè)算法A的時(shí)間復(fù)雜性滿足遞歸方程,算法B的時(shí)間復(fù)雜性滿足遞歸方程,若要使得算法A時(shí)間復(fù)雜性的階高于算法B時(shí)間復(fù)雜性的階,a的最大整數(shù)值可取多少?答:分別記算法A和算法B的時(shí)間復(fù)雜性為和,解相應(yīng)的遞歸方程得: 依題意,要求最大的整數(shù)a使得。顯然,當(dāng)a4時(shí), a2寫(xiě)出其相應(yīng)的遞歸算法?Int F(int n) if(n=1) return 1; else if
5、(n=2) return 2; else return F(n-1)+ F(n-2);2、設(shè)a,b,c是3個(gè)塔座。開(kāi)始時(shí),在塔座a上有一疊共n個(gè)圓盤(pán),這些圓盤(pán)自下而上,由大到小地疊在一起。各圓盤(pán)從小到大編號(hào)為1,2,n,現(xiàn)要求將塔座a上的這一疊圓盤(pán)移到塔座b上,并仍按同樣順序疊置。在移動(dòng)圓盤(pán)時(shí)應(yīng)遵守以下移動(dòng)規(guī)則:規(guī)則1:每次只能移動(dòng)1個(gè)圓盤(pán);規(guī)則2:任何時(shí)刻都不允許將較大的圓盤(pán)壓在較小的圓盤(pán)之上;規(guī)則3:在滿足移動(dòng)規(guī)則1和2的前提下,可將圓盤(pán)移至a,b,c中任一塔座上。寫(xiě)出該問(wèn)題的解題步驟? 并寫(xiě)出其相應(yīng)的遞歸算法? 解:第一步:將n1個(gè)盤(pán)子看成一個(gè)整體,從A移到C; 第二步:將第n個(gè)盤(pán)子移到
6、B; 第三步:將n1個(gè)盤(pán)子看成一個(gè)整體,從C移到B;寫(xiě)出其相應(yīng)的遞歸算法:void hanoi(int n, int a, int b, int c) if (n 0) hanoi(n-1, a, c, b); move(a,b); hanoi(n-1, c, b, a); 第二章 分治算法(2)分治算法一、填空題:1、在快速排序、插入排序和合并排序算法中, 插入排序 算法不是分治算法。2、合并排序算法使用的是 分治 算法設(shè)計(jì)的思想。3、二分搜索算法是利用 分治 算法思想設(shè)計(jì)的。二、簡(jiǎn)答題:1、適合用分治算法求解的問(wèn)題具有的基本特征?答:1)該問(wèn)題的規(guī)??s小到一定的程度就可以容易解決;2)該問(wèn)
7、題可以分解為若干個(gè)規(guī)模較小的相同問(wèn)題,即該問(wèn)題具有最優(yōu)子結(jié)構(gòu)性質(zhì); 3)該問(wèn)題所分解出的各個(gè)子問(wèn)題是相互獨(dú)立的,即子問(wèn)題之間不包含公共的子問(wèn)題。 4)利用該問(wèn)題分解出子問(wèn)題解可以合并為該問(wèn)題解;2、分治算法基本思想,解題步驟? 三、算法設(shè)計(jì)題:1、改寫(xiě)二分查找算法:設(shè)a1n是一個(gè)已經(jīng)排好序的數(shù)組,改寫(xiě)二分查找算法,使得當(dāng)搜索元素x不在數(shù)組中時(shí),返回小于x的最大元素位置i,和大于x的最小元素位置j;當(dāng)搜索元素x在數(shù)組中時(shí),i和j相同,均為x在數(shù)組中的位置。并分析其時(shí)間復(fù)雜度? 解:int binsearch( int an, int x ,) /x待查數(shù)據(jù)int mid, i , j; low=
8、1; int high=n;while(lowx) high=mid-1; /繼續(xù)在左邊查找else / (amid=2)個(gè)元素的集合中尋找極大元和極小元。用分治法(二分法)可以用較少比較次數(shù)地解決上述問(wèn)題:1)將數(shù)據(jù)等分為兩組(兩組數(shù)據(jù)可能差1),目的是分別選取其中的最大(小)值。2)遞歸分解直到每組元素的個(gè)數(shù)2,可簡(jiǎn)單地找到最大(小)值.3)回溯時(shí)將分解的兩組解大者取大,小者取小,合并為當(dāng)前問(wèn)題的解。 、 第三章動(dòng)態(tài)規(guī)劃算法一、填空題:1、動(dòng)態(tài)規(guī)劃算法中存儲(chǔ)子問(wèn)題的解是為了 避免重復(fù)求解子問(wèn)題 。2、( 最優(yōu)子結(jié)構(gòu) )是問(wèn)題能用動(dòng)態(tài)規(guī)劃算法求解的前提。3、矩陣連乘問(wèn)題的算法可由(動(dòng)態(tài)規(guī)劃
9、)算法設(shè)計(jì)實(shí)現(xiàn)。二、判斷題:1、動(dòng)態(tài)規(guī)劃算法基本要素的是最優(yōu)子結(jié)構(gòu)。 ( )2、最優(yōu)子結(jié)構(gòu)性質(zhì)是指原問(wèn)題的最優(yōu)解包含其子問(wèn)題的最優(yōu)解。 ( )3、動(dòng)態(tài)規(guī)劃算法求解問(wèn)題時(shí),分解出來(lái)的子問(wèn)題相互獨(dú)立。 ( X)三、簡(jiǎn)答題:1、動(dòng)態(tài)規(guī)劃算法解題步驟?答:找出最優(yōu)解的性質(zhì),并刻劃其結(jié)構(gòu)特征;(即原問(wèn)題的最優(yōu)解,包含了子問(wèn)題的最優(yōu)解)遞歸地定義最優(yōu)值;(即子問(wèn)題具有重疊性,由子問(wèn)題定義原問(wèn)題)以自底向上的方式計(jì)算出最優(yōu)值;根據(jù)計(jì)算最優(yōu)值時(shí)得到的信息,構(gòu)造最優(yōu)解;2、動(dòng)態(tài)規(guī)劃算法基本思想?答:動(dòng)態(tài)規(guī)劃算法與分治法類似,其基本思想也是將待求解問(wèn)題分解成若干個(gè)子問(wèn)題;但是經(jīng)分解得到的子問(wèn)題往往不是互相獨(dú)立的。
10、不同子問(wèn)題的數(shù)目常常只有多項(xiàng)式量級(jí)。在用分治法求解時(shí),有些子問(wèn)題被重復(fù)計(jì)算了許多次;如果能夠保存已解決的子問(wèn)題的答案,而在需要時(shí)再找出已求得的答案,就可以避免大量重復(fù)計(jì)算,從而得到多項(xiàng)式時(shí)間算法。3、動(dòng)態(tài)規(guī)劃與分治算法異同點(diǎn)?4、動(dòng)態(tài)規(guī)劃算法的基本要素? 四、算法設(shè)計(jì)與計(jì)算題:1、和的最長(zhǎng)公共子序列為。問(wèn):若用記錄序列和公共子序列長(zhǎng)度。求:用動(dòng)態(tài)規(guī)劃法求解時(shí),計(jì)算最優(yōu)值的遞歸公式? 設(shè)計(jì)計(jì)算最優(yōu)值的算法?以及構(gòu)造最優(yōu)解的算法?2、長(zhǎng)江游艇俱樂(lè)部在長(zhǎng)江上設(shè)置了n個(gè)游艇出租站1,2n.游客可在這些游艇出租站租用游艇,并在下游的任何一個(gè)游艇出租站歸還游艇。游艇出租站i到游艇出租站j之間的租金為r(i
11、,j),其中1=ij=n;求:用動(dòng)態(tài)規(guī)劃法求解時(shí),計(jì)算最優(yōu)值(最少租金)的遞歸公式?設(shè)計(jì)計(jì)算最優(yōu)值(最少租金)的算法?并分析其時(shí)間復(fù)雜度?解:計(jì)算最優(yōu)值算法public static void matrixChain(int p, int m, int s) int n=p.length-1; for (int i = 1; i = n; i+) mii = 0; /1個(gè)站 for (int r = 2; r = n; r+) for (int i = 1; i = n - r+1; i+) int j=i+r-1; m i j = mii + mi+1 j; s i j = i; /斷點(diǎn)位置
12、在i處 for (int k = i+1; k j; k+) int t = m i k + mk+1 j; if (t mij) m i j = t; s i j = k; 構(gòu)造最優(yōu)解算法public void traceback( int s,int I,int j)if(i=j) return;traceback( s, i, s i j );traceback( s, s i j+1, j );System.out.println(“A”+ i +“,”+ s i j + “A”+ s i j+1 +“,”+ j ) /(m i, s i j ) (m s i j+1, j )時(shí)間復(fù)雜
13、度:O(n3)第 4 章 貪心算法一、填空題:1、某單位給每個(gè)職工發(fā)工資(精確到元)。為了保證不要臨時(shí)兌換零錢, 且取款的張數(shù)最少,統(tǒng)計(jì)所需各種幣值(100,50,20,10,5,2,1元共七種)的張數(shù)。貪心算法如下:void greedy_zhaoling ( float GZ, int B , int S ) /GZ應(yīng)發(fā)工資 for( j=1, j=7;j+) /貪心選擇,依次給最大幣種 A= GZ/B j ; /A表示對(duì)應(yīng)j幣種張數(shù) S j= S j +A ; /S j存放對(duì)應(yīng)j幣種總張數(shù) GZ= GZ-A*B j ; for(i=1;i=7;i+) print( B i , “-”,
14、S i ); /輸出幣種和對(duì)應(yīng)張數(shù) 2、貪心算法的兩個(gè)基本要素是(貪心選擇性 )和( 最優(yōu)子結(jié)構(gòu) )。 3、給定n種物品和一個(gè)背包。物品i的重量是Wi,其價(jià)值為Vi,背包的容量為M,應(yīng)如何選擇裝入背包的物品,使得裝入背包中物品的總價(jià)值最大。貪心算法如下:float greedy_knapsack ( float M, float w , float p , float x ) / x 背包問(wèn)題最優(yōu)解, w 物品重量, P 物品價(jià)值 int n=w.length;float pp=0;float mmM; /pp計(jì)算當(dāng)前總價(jià)值,mm背包剩余載重for( int i=1;i=n; i+ ) flo
15、at ww i= p i / w i ; /計(jì)算物品單位價(jià)值ww x i=0; /初始化Mergesort ( w , n ); /按單位價(jià)值將物品排序, 便于貪心選擇for( int i=1; i=n; i+ ) /貪心選擇,總是選擇價(jià)值最大放入背包 if ( w i=mm ) /當(dāng)前物品小于背包剩余載重 x i=1; mm= mm - w i ; pp= pp + p i ; else x i=mm/w i; pp= pp + x i*p i ; break; /i部分放入背包return pp;二、判斷題:1、滿足貪心選擇性質(zhì)必滿足最優(yōu)子結(jié)構(gòu)性質(zhì)。 ( X )三、簡(jiǎn)答題: 1、貪心算法的
16、基本思想?2、貪心算法的基本要素?3、貪心算法與動(dòng)態(tài)規(guī)劃算法的異同?四、算法設(shè)計(jì)題:1、假設(shè)有7個(gè)物品,它們的重量和價(jià)值如下表所示。若這些物品均可以被分割,且背包容量M150,如果使用貪心方法求解此背包問(wèn)題(背包不超載的前提下,裝載的物品價(jià)值達(dá)到最大)。物品ABCDEFG重量35306050401025價(jià)值10403050354030利用貪心算法求解該問(wèn)題時(shí),為了進(jìn)行貪心選擇,首先應(yīng)該做什么? 然后進(jìn)行貪心裝載,給出一種正確的物品裝載順序?并給出其最優(yōu)裝載方案? 利用貪心思想設(shè)計(jì)該普通背包問(wèn)題的貪心算法?分析其時(shí)間復(fù)雜度?解: 1)依據(jù)不同的標(biāo)準(zhǔn)對(duì)這些物品進(jìn)行排序,標(biāo)準(zhǔn)有重量、價(jià)值、單位價(jià)值;
17、 2)重量從小到大:FGBAEDC ,得到的貪心解為:FGBAE 全部放入,D放入20% ,得到價(jià)值為165; 價(jià)值從大到小 :DFBEGCA ,得到的貪心解為:DFBE 全部放入,G放入80% ,得到價(jià)值為189; 單位價(jià)值從大到小 :FBGDECA ,得到的貪心解為:FBGD 全部放入,E放入87.5% ,得到價(jià)值為190.625; 3)顯然使用單位價(jià)值得出最佳轉(zhuǎn)載方案。 、2、設(shè)有n個(gè)活動(dòng)集合,其中每個(gè)活動(dòng)都要求使用同一資源,如足球場(chǎng),而在同一時(shí)間只能有一個(gè)活動(dòng)使用該資源。每個(gè)活動(dòng)i都有一個(gè)要求使用該資源起始時(shí)間si和結(jié)束時(shí)間fi,且si n ) / 搜索到葉子節(jié)點(diǎn) sum+; /著色方
18、案數(shù)加1 for (int i=1; i=n; i+) system.out.print( x i ); /輸出解,頂點(diǎn)i著顏色x i else / 搜索到中間節(jié)點(diǎn) for(int i=1; i=m; i+) x t=i; /頂點(diǎn)t著顏色i=1m if( ok( t ) ) backtrack(t+1); boolean ok( int k) /當(dāng)前著色頂點(diǎn)與以前相鄰頂點(diǎn)是否同色 for(int j=1; j=n; j+) if( a k j&( x j=x k ) ) /數(shù)組a是圖的鄰接矩陣 /當(dāng)前頂點(diǎn)k到j(luò)有邊:a k j,且色同:x j=x k return false; else re
19、turn true;算法分析(m種顏色,n個(gè)節(jié)點(diǎn)) 計(jì)算限界函數(shù),一重for循環(huán)時(shí)間復(fù)雜度:O(n); 在最壞的情況下每一個(gè)內(nèi)節(jié)點(diǎn)都需要判斷約束,內(nèi)節(jié)點(diǎn)個(gè)數(shù):1+m+m2+ m3+mn-1=(mn-1)/(m-1)個(gè);故圖的m著色問(wèn)題的回溯算法,時(shí)間復(fù)雜度為:O(n*mn)。第六章 分支限界算法一、填空題1、按照活結(jié)點(diǎn)表的組織方式的不同,分支限界法包括 隊(duì)列式分支限界算法 和 優(yōu)先隊(duì)列式分支限界算法 兩種形式。2、回溯法與分支限界法搜索方式不同,回溯法按 深度優(yōu)先 搜索解空間,分支限界法按 廣度優(yōu)先或最小耗費(fèi)優(yōu)先 搜索解空間。3、隊(duì)列分支限界算法中,通常用隊(duì)列 實(shí)現(xiàn),體現(xiàn)先進(jìn)先出原則 的原則。
20、4、優(yōu)先隊(duì)列式分支限界算法,通常采用堆實(shí)現(xiàn)。6、回溯法與分支限界算法求解問(wèn)題時(shí),需要構(gòu)造對(duì)該問(wèn)題的解空間結(jié)構(gòu),其解空間結(jié)構(gòu)通常有3種形式,分別是 子集樹(shù) 、排列樹(shù)、 滿m叉樹(shù) 。二、判斷題1、分支限界法類似于回溯法,也是一種在問(wèn)題的解空間樹(shù)T上搜索問(wèn)題解的算法,兩者的搜索方式是相同的。(X)三、簡(jiǎn)答題1、簡(jiǎn)述分支限界法的基本思想與解題步驟?2、分支限界算法與回溯算法異同點(diǎn)?四、算法設(shè)計(jì)題1、01背包問(wèn)題:假設(shè)有3個(gè)物品,它們的重量和價(jià)值如下表所示。若這些物品均不可以被分割,且背包容量M10,問(wèn)應(yīng)該如何裝入使背包中物品的總價(jià)值最大?物品ABC重量655價(jià)值422530用分支限界算法求解該01背包
21、問(wèn)題: 構(gòu)造求解該問(wèn)題的解空間樹(shù)? 給出隊(duì)列式分支限界算法的求解過(guò)程?如設(shè)計(jì)該01背包問(wèn)題的分支限界算法?并分析其時(shí)間復(fù)雜度?(隊(duì)列式分支限界,帶上界函數(shù))、多段圖最短路徑問(wèn)題求:構(gòu)造求解該問(wèn)題的解空間樹(shù)? 給出隊(duì)列式分支限界算法的求解過(guò)程?設(shè)計(jì)該問(wèn)題的分支限界算法?并分析其時(shí)間復(fù)雜度?(隊(duì)列式分支限界,帶上界函數(shù))解:2)求解過(guò)程:)算法描述: 法:隊(duì)列式分支限界法double shortest( int i) while (true) /隊(duì)列不空, 搜索問(wèn)題的解空間 for ( int j=1; j=n;j+)/兒子結(jié)點(diǎn)入隊(duì) if (a i j Float.MAX_VALUE) / 頂點(diǎn)i
22、到頂點(diǎn)j可達(dá) dist j= dist i +a i j; / dist i記錄源到頂點(diǎn)的距離 p j=enode.i; / p j記錄頂點(diǎn)j的前驅(qū) enQueue(v j, j); / 結(jié)點(diǎn)j加入隊(duì)列 ew = (Integer) queue.remove().intValue();/ 取隊(duì)首下一擴(kuò)展結(jié)點(diǎn) if (ew = -1) / 同一層尾部標(biāo)記ew = -1:同一層結(jié)點(diǎn)處理結(jié)束 if (queue.isEmpty() return dist i;/判斷隊(duì)列是否為空 else queue.put(new Integer(-1); / 同層結(jié)點(diǎn)尾部標(biāo)志 ew = (Integer) que
23、ue.remove().intValue(); / 取下一擴(kuò)展結(jié)點(diǎn) i+; / 進(jìn)入下一層 時(shí)間復(fù)雜度:第七章 概率算法1、什么叫概率算法?答:概率算法允許算法在執(zhí)行的過(guò)程中隨機(jī)選擇下一個(gè)計(jì)算步驟。2、概率算法有一個(gè)基本特征?答:基本特征是對(duì)所求解問(wèn)題的同一實(shí)例用同一概率算法求解兩次可能得到完全不同的效果。3、概率算法可以分為哪4類?答:1)數(shù)值概率算法 2)蒙特卡羅算法 3)拉斯維加斯算法 4)舍伍德算法4、在概率算法中使用的隨機(jī)數(shù)都是一定程度上隨機(jī)的,即偽隨機(jī)數(shù);一般隨機(jī)數(shù)通過(guò)線性同余法方法產(chǎn)生。第八章 NP完全性理論1、什么是易解問(wèn)題?什么是難解問(wèn)題?難解問(wèn)題分為哪兩類?答:1)易解問(wèn)題
24、:人們將存在多項(xiàng)式時(shí)間 算法的問(wèn)題稱為易解問(wèn)題;2)難解問(wèn)題:將需要在指數(shù)時(shí)間內(nèi)解決的問(wèn)題稱為難解問(wèn)題;3)難解問(wèn)題有兩類: 1)不可判定問(wèn)題 2)非決定的難處理問(wèn)題 。2、什么是不可判定問(wèn)題?什么是非決定的難處理問(wèn)題?答:1)不可判定問(wèn)題 :該類問(wèn)題是不能解問(wèn)題,它們太難了,以至于根本就不存在能求解它們的任何算法。2)非決定的難處理問(wèn)題: 這類問(wèn)題是可判定的(即可解的)。 但是,這類問(wèn)題即使使用非決定的計(jì)算機(jī),也不能在多項(xiàng)式時(shí)間內(nèi)求解它們。3、什么是P類問(wèn)題?什么是NP完全問(wèn)題?答:1)P類問(wèn)題:是一類能夠用確定性算法在多項(xiàng)式時(shí)間內(nèi)求解的判斷問(wèn)題。事實(shí)上,所有易解問(wèn)題都屬于P類問(wèn)題。2)NP
25、完全問(wèn)題:對(duì)于某問(wèn)題,很難找到其多項(xiàng)式時(shí)間的算法(或許根本不存在),但是如果給了該問(wèn)題的一個(gè)答案,則可以在多項(xiàng)式時(shí)間內(nèi)判定或驗(yàn)證這個(gè)答案是否正確。 這種可以在多項(xiàng)式時(shí)間內(nèi)驗(yàn)證一個(gè)解是否正確的問(wèn)題稱為NP問(wèn)題。4、列出幾個(gè)典型的NP完全問(wèn)題?答:(1)圖著色問(wèn)題COLORING(2)路徑問(wèn)題LONG-PATH (3)頂點(diǎn)覆蓋問(wèn)題VERTEX-COVER(4)子集和問(wèn)題SUBSET-SUM(5)哈密爾頓回路問(wèn)題HAM-CYCLE(6)旅行商問(wèn)題TSP(7)裝箱問(wèn)題BIN-PACKING , 能否用k個(gè)箱子來(lái)裝n個(gè)物品;第九章近似算法1、 所有NP完全問(wèn)題都還沒(méi)有多項(xiàng)式時(shí)間的算法,然而許多NP完全問(wèn)
26、題都具有很重要的意義,對(duì)于這類問(wèn)題通??梢圆扇∫韵聨追N解題策略?答:)只對(duì)問(wèn)題的特殊實(shí)例求解; )用動(dòng)態(tài)規(guī)劃或分支限界法求解。 )啟發(fā)式方法求解 )只求近似解2、 利用近似算法求解NP完全問(wèn)題時(shí),近似算法應(yīng)該滿足下面兩個(gè)基本的要求?答:1)算法的時(shí)間復(fù)雜性:要求算法能在n的多項(xiàng)式時(shí)間內(nèi)完成。2)解的近似程度:算法的近似解應(yīng)滿足一定的精度。通常,用來(lái)衡量精度的標(biāo)準(zhǔn)有近似比和相對(duì)誤差。1、二分搜索算法是利用( A )實(shí)現(xiàn)的算法。 A、分治策略 B、動(dòng)態(tài)規(guī)劃法 C、貪心法 D、回溯法 2、下列不是動(dòng)態(tài)規(guī)劃算法基本步驟的是( A )。 A、找出最優(yōu)解的性質(zhì) B、構(gòu)造最優(yōu)解 C、算出最優(yōu)解 D、定義最優(yōu)
27、解 3、最大效益優(yōu)先是( A )的一搜索方式。 A、分支界限法 B、動(dòng)態(tài)規(guī)劃法 C、貪心法 D、回溯法 4、最長(zhǎng)公共子序列算法利用的算法是( B )。 A、分支界限法 B、動(dòng)態(tài)規(guī)劃法 C、貪心法 D、回溯法 5. 回溯法解TSP問(wèn)題時(shí)的解空間樹(shù)是( A )。 A、子集樹(shù) B、排列樹(shù) C、深度優(yōu)先生成樹(shù) D、廣度優(yōu)先生成樹(shù) 6下列算法中通常以自底向上的方式求解最優(yōu)解的是( B )。 A、備忘錄法 B、動(dòng)態(tài)規(guī)劃法 C、貪心法 D、回溯法 7、衡量一個(gè)算法好壞的標(biāo)準(zhǔn)是(C )。 A 運(yùn)行速度快 B 占用空間少 C 時(shí)間復(fù)雜度低 D 代碼短 8、以下不可以使用分治法求解的是(D )。 A 棋盤(pán)覆蓋問(wèn)題
28、 B 選擇問(wèn)題 C 歸并排序 D 0/1背包問(wèn)題 9. 實(shí)現(xiàn)循環(huán)賽日程表利用的算法是( A )。 A、分治策略 B、動(dòng)態(tài)規(guī)劃法 C、貪心法 D、回溯法 10、實(shí)現(xiàn)最長(zhǎng)公共子序列利用的算法是( B )。 A、分治策略 B、動(dòng)態(tài)規(guī)劃法 C、貪心法 D、回溯法 11下面不是分支界限法搜索方式的是( D )。 A、廣度優(yōu)先 B、最小耗費(fèi)優(yōu)先 C、最大效益優(yōu)先 D、深度優(yōu)先 12下列算法中通常以深度優(yōu)先方式系統(tǒng)搜索問(wèn)題解的是( D )。 A、備忘錄法 B、動(dòng)態(tài)規(guī)劃法 C、貪心法 D、回溯法 13. 一個(gè)問(wèn)題可用動(dòng)態(tài)規(guī)劃算法或貪心算法求解的關(guān)鍵特征是問(wèn)題的( B )。 A、重疊子問(wèn)題 B、最優(yōu)子結(jié)構(gòu)性質(zhì)
29、C、貪心選擇性質(zhì) D、定義最優(yōu)解 14廣度優(yōu)先是( A )的一搜索方式。 A、分支界限法 B、動(dòng)態(tài)規(guī)劃法 C、貪心法 D、回溯法 15背包問(wèn)題的貪心算法所需的計(jì)算時(shí)間為( B )。 A、O(n2) nB、O(nlogn) C、O(2) nD、O(n) 16實(shí)現(xiàn)最大子段和利用的算法是( B )。 A、分治策略 B、動(dòng)態(tài)規(guī)劃法 C、貪心法 D、回溯法 17實(shí)現(xiàn)棋盤(pán)覆蓋算法利用的算法是( A )。 A、分治法 B、動(dòng)態(tài)規(guī)劃法 C、貪心法 D、回溯法 18.下面是貪心算法的基本要素的是( C )。 A、重疊子問(wèn)題 B、構(gòu)造最優(yōu)解 C、貪心選擇性質(zhì) D、定義最優(yōu)解 19.回溯法的效率不依賴于下列哪些因素
30、( D ) A.滿足顯約束的值的個(gè)數(shù) C. 計(jì)算限界函數(shù)的時(shí)間 B. 計(jì)算約束函數(shù)的時(shí)間 D. 確定解空間的時(shí)間 20.下面哪種函數(shù)是回溯法中為避免無(wú)效搜索采取的策略( B ) A遞歸函數(shù) B.剪枝函數(shù) C。隨機(jī)數(shù)函數(shù) D.搜索函數(shù) 21、以深度優(yōu)先方式系統(tǒng)搜索問(wèn)題解的算法稱為 ( D ) 。 A、分支界限算法 B、概率算法 C、貪心算法 D、回溯算法 22、貪心算法與動(dòng)態(tài)規(guī)劃算法的主要區(qū)別是( B )。 A、最優(yōu)子結(jié)構(gòu) B、貪心選擇性質(zhì) C、構(gòu)造最優(yōu)解 D、定義最優(yōu)解 23. 采用最大效益優(yōu)先搜索方式的算法是( A )。 A、分支界限法 B、動(dòng)態(tài)規(guī)劃法 C、貪心法 D、回溯法 24. ( D
31、 )是貪心算法與動(dòng)態(tài)規(guī)劃算法的共同點(diǎn)。 A、重疊子問(wèn)題 B、構(gòu)造最優(yōu)解 C、貪心選擇性質(zhì) D、最優(yōu)子結(jié)構(gòu)性質(zhì) 25. 矩陣連乘問(wèn)題的算法可由( B)設(shè)計(jì)實(shí)現(xiàn)。 A、分支界限算法 B、動(dòng)態(tài)規(guī)劃算法 C、貪心算法 D、回溯算法 26. 0-1背包問(wèn)題的回溯算法所需的計(jì)算時(shí)間為( A ) A、O(n2n) B、O(nlogn) C、O(2n) D、O(n) 27、背包問(wèn)題的貪心算法所需的計(jì)算時(shí)間為( B ) A、O(n2) B、O(nlogn) C、O(2) D、O(n) 29、使用分治法求解不需要滿足的條件是(A )。 A 子問(wèn)題必須是一樣的 B 子問(wèn)題不能夠重復(fù)C 子問(wèn)題的解可以合并 D 原問(wèn)題
32、和子問(wèn)題使用相同的方法解 30、下面問(wèn)題(B )不能使用貪心法解決。 nnA 單源最短路徑問(wèn)題 B N皇后問(wèn)題 C 最小花費(fèi)生成樹(shù)問(wèn)題 D 背包問(wèn)題 31、下列算法中不能解決0/1背包問(wèn)題的是(A ) A 貪心法 B 動(dòng)態(tài)規(guī)劃 C 回溯法 D 分支限界法 32、回溯法搜索狀態(tài)空間樹(shù)是按照(C )的順序。 A 中序遍歷 B 廣度優(yōu)先遍歷 C 深度優(yōu)先遍歷 D 層次優(yōu)先遍歷 33、采用廣度優(yōu)先策略搜索的算法是( A )。 A、分支界限法 B、動(dòng)態(tài)規(guī)劃法 C、貪心法 D、回溯法 34實(shí)現(xiàn)合并排序利用的算法是( A )。 A、分治策略 B、動(dòng)態(tài)規(guī)劃法 C、貪心法 D、回溯法 35下列是動(dòng)態(tài)規(guī)劃算法基本要素的是( D )。 A、定義最優(yōu)解 B、構(gòu)造最優(yōu)解 C、算出最優(yōu)解 D、子問(wèn)題重疊性質(zhì) 36下列算法中通常以自底向下的方式求解最優(yōu)解的是( B )。 A、分治法 B、動(dòng)態(tài)規(guī)劃法 C、貪心法 D、回溯法 二、 填空題 1.算法的復(fù)雜性有 時(shí)間 復(fù)雜性和 空間 復(fù)雜性
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園周邊環(huán)境問(wèn)題與學(xué)校環(huán)境文化建設(shè)研究論文
- 花椒烘干房管理制度
- 茶葉加工廠管理制度
- 防老人走失管理制度
- 六年級(jí)上學(xué)期期中質(zhì)量檢測(cè)
- 財(cái)務(wù)會(huì)計(jì)崗位實(shí)訓(xùn)心得
- 財(cái)務(wù)工作半年度總結(jié)(25篇)
- 解析匯編化學(xué)-專題18有機(jī)化學(xué)基礎(chǔ)(選修)
- 自動(dòng)化管道維修策略
- 計(jì)量專業(yè)考試之計(jì)量基礎(chǔ)、法律法規(guī)知識(shí)考試題
- 寵物清潔衛(wèi)生用品貓砂
- 大模型備案-落實(shí)算法安全主體責(zé)任基本情況-XX集團(tuán)有限公司
- 【低空遙感】拓恒技術(shù)有限公司 -提供從無(wú)人機(jī)到場(chǎng)景應(yīng)用垂直產(chǎn)業(yè)價(jià)值鏈的整體解決方案項(xiàng)目商業(yè)計(jì)劃書(shū)
- 2025-2030中國(guó)蔬菜溫室大棚市場(chǎng)消費(fèi)趨勢(shì)分析與經(jīng)營(yíng)管理風(fēng)險(xiǎn)報(bào)告
- 學(xué)校外來(lái)人員登記制度
- 店鋪裝修工程施工方案(3篇)
- 腰椎間盤(pán)突出癥中醫(yī)護(hù)理查房
- 多重耐藥菌醫(yī)院感染預(yù)防與控制技術(shù)指南(試行)
- 地面注漿施工方案
- 委托種植水果協(xié)議
- 深圳“20+8”之生物醫(yī)藥產(chǎn)業(yè)-前景機(jī)遇與技術(shù)趨勢(shì)探析報(bào)告-前瞻產(chǎn)業(yè)研究院
評(píng)論
0/150
提交評(píng)論