08-09年期末考試算法設(shè)計(jì)與分析試卷B及答案_第1頁
08-09年期末考試算法設(shè)計(jì)與分析試卷B及答案_第2頁
08-09年期末考試算法設(shè)計(jì)與分析試卷B及答案_第3頁
08-09年期末考試算法設(shè)計(jì)與分析試卷B及答案_第4頁
08-09年期末考試算法設(shè)計(jì)與分析試卷B及答案_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

武漢工業(yè)學(xué)院工商學(xué)院2008武漢工業(yè)學(xué)院工商學(xué)院2008–2009學(xué)年第1學(xué)期算法分析考試試卷(B卷)課程名稱算法分析編號03080121題號一二三四五六七總分得分評閱人注:1、考生必須填寫班級、姓名、學(xué)號;2、試題紙共1頁。1、(1)證明:O(f)+O(g)=O(f+g)(7分)(2)求下列函數(shù)的漸近表達(dá)式:(6分)3n2+10n;21+1/n;2、對于下列各組函數(shù)f(n)和g(n),確定f(n)=O(g(n))或或,并簡述理由。(15分)(1)(2)(3)3、試用分治法對數(shù)組A[n]實(shí)現(xiàn)快速排序。(13分)4、試用動態(tài)規(guī)劃算法實(shí)現(xiàn)最長公共子序列問題。(15分)5、試用貪心算法求解汽車加油問題:已知一輛汽車加滿油后可行駛n公里,而旅途中有若干個加油站。試設(shè)計(jì)一個有效算法,指出應(yīng)在哪些加油站??考佑?,使加油次數(shù)最少。。(12分)6、試用動態(tài)規(guī)劃算法實(shí)現(xiàn)下列問題:設(shè)A和B是兩個字符串。我們要用最少的字符操作,將字符串A轉(zhuǎn)換為字符串B,這里所說的字符操作包括:(1)刪除一個字符。(2)插入一個字符。(3)將一個字符改為另一個字符。將字符串A變換為字符串B所用的最少字符操作數(shù)稱為字符串A到B的編輯距離,記為d(A,B)。試設(shè)計(jì)一個有效算法,對任給的兩個字符串A和B,計(jì)算出它們的編輯距離d(A,B)。(16分)7、試用回溯法解決下列整數(shù)變換問題:關(guān)于整數(shù)的變換和定義如下:。對于給定的兩個整數(shù)和,要求用最少的變換和變換次數(shù)將變?yōu)?。?6分)考試課程:考試課程:班級:姓名:學(xué)號:-------------------------------------------------密----------------------------------封-----------------------------線----------------------------------------------------------------------------------------------------------密----------------------------------封-----------------------------線---------------------------------------------------------、=1\*GB2⑴證明:令F(N)=O(f),則存在自然數(shù)N1、C1,使得對任意的自然數(shù)N,有:F(N)……………..(2分)同理可令G(N)=O(g),則存在自然數(shù)N2、C2,使得對任意的自然數(shù)N,有:G(N)……………..(3分)令C3=max{C1,C2},N3=max{N1,N2},則對所有的N,有:F(N)G(N)……………..(5分)故有:O(f)+O(g)=F(N)+G(N)因此有:O(f)+O(g)=O(f+g)……………..(7分)=2\*GB2⑵解:=1\*GB3①因?yàn)椋河蓾u近表達(dá)式的定義易知:的漸近表達(dá)式。……………..(3分)=2\*GB3②因?yàn)椋河蓾u近表達(dá)式的定義易知:21是21+1/n的漸近表達(dá)式?!?.(6分)2、解:經(jīng)分析結(jié)論為:(1)………….(5分)(2);………….(10分)(3);………….(15分)3、解:用分治法求解的算法代碼如下:intpartition(floatA[],intp,intr){inti=p,j=r+1;floatx=a[p];while(1){while(a[++i]<x);while(a[--j]>x);if(i>=j)break;a[i]……………..(4分)};a[p]=a[j];a[j]=x;returnj;……………..(7分)}voidQuicksort(floata[],intp,intr){if(p<r){intq=partition(a,p,r);……………..(10分)Quicksort(a,p,q-1);Quicksort(a,q+1,r);}};Quicksort(a,0,n-1);……………..(13分)4、解:用動態(tài)規(guī)劃算法求解的算法代碼如下:intlcs_len(char*a,char*b,intc[][N]){intm=strlen(a),n=strlen(b),i,j;for(i=0;i<=m;i++)c[i][0]=0;for(j=1;j<=n;j++)c[0][j]=0;……………..(4分)for(i=1;i<=m;i++)for(j=1;j<=n;j++)if(a[i-1]==b[j-1])c[i][j]=c[i-1][j-1]+1;elseif(c[i-1][j]>=c[i][j-1])c[i][j]=c[i-1][j];elsec[i][j]=c[i][j-1];……………..(7分)returnc[m][n];……………..(8分)};char*build_lcs(chars[],char*a,char*b){intk,i=strlen(a),j=strlen(b),c[N][N];k=lcs_len(a,b,c);s[k]=’\0’while(k>0){if(c[i][j]==c[i-1][j])i--;……………..(11分)elseif(c[i][j]==c[i][j-1])j--;else{s[--k]=a[i-1];i--,j--;}}returns;……………..(15分)}5、解:intgreedy(vecter<int>x,intn){intsum=0,k=x.size();for(intj=0;j<k;j++)if(x[j]>n){cout<<”Nosolution”<<endl;return-1;……………..(6分)}for(inti=0,s=0;i<k;i++){s+=x[i];if(s>n){sum++;s=x[i];}……………..(9分)}returnsum;……………..(12分)}6、解:此題用動態(tài)規(guī)劃算法求解:intdist(){intm=a.size();intn=b.size();vector<int>d(n+1,0);for(inti=1;i<=n;i++)d[i]=i;……………..(5分)for(i=1;i<=m;i++){inty=i-1;for(intj=1;j<=n;j++){intx=y;y=d[j];intz=j>1?d[j-1]:i;……………..(10分)intdel=a[i-1]==b[j-1]?0:1;d[j]=min(x+del,y+1,z+1);……………..(13分)}}returnd[n];……………..(16分)}7、解:解答如下:voidcompute(){k=1;while(!search(1,n)){k++;if(k>maxdep)break;init();};……………..(6分)if(found)output();……………..(9分)elsecout<<”NoSolution!”<<endl;}boolsearch(intdep,intn){if(dep>k)returnfalse;……

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論