算法設(shè)計(jì)和分析試題(卷)與答案解析_第1頁(yè)
算法設(shè)計(jì)和分析試題(卷)與答案解析_第2頁(yè)
算法設(shè)計(jì)和分析試題(卷)與答案解析_第3頁(yè)
算法設(shè)計(jì)和分析試題(卷)與答案解析_第4頁(yè)
算法設(shè)計(jì)和分析試題(卷)與答案解析_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上湖南科技學(xué)院二 年 學(xué)期期末考試信息與計(jì)算科學(xué)專(zhuān)業(yè) 年級(jí)算法設(shè)計(jì)與分析 試題題 號(hào)一二三四五總分統(tǒng)分人得 分閱卷人復(fù)查人考試類(lèi)型:開(kāi)卷 試卷類(lèi)型:C卷 考試時(shí)量:120 分鐘一、填空題(每小題3 分,共計(jì)30 分)1. 用O、和表示函數(shù)f與g之間的關(guān)系_。2. 算法的時(shí)間復(fù)雜性為,則算法的時(shí)間復(fù)雜性的階為_(kāi)。3. 快速排序算法的性能取決于_。4. 算法是_。5. 在對(duì)問(wèn)題的解空間樹(shù)進(jìn)行搜索的方法中,一個(gè)活結(jié)點(diǎn)最多有一次機(jī)會(huì)成為活結(jié)點(diǎn)的是_。6. 在算法的三種情況下的復(fù)雜性中,可操作性最好且最有實(shí)際價(jià)值的是_情況下的時(shí)間復(fù)雜性。7. 大符號(hào)用來(lái)描述增長(zhǎng)率的下限,這個(gè)下限

2、的階越_,結(jié)果就越有價(jià)值。8. _是問(wèn)題能用動(dòng)態(tài)規(guī)劃算法求解的前提。9. 貪心選擇性質(zhì)是指_ _。10. 回溯法在問(wèn)題的解空間樹(shù)中,按_策略,從根結(jié)點(diǎn)出發(fā)搜索解空間樹(shù)。二、簡(jiǎn)答題(每小題10分,共計(jì)30分)1. 試述回溯法的基本思想及用回溯法解題的步驟。2. 有8個(gè)作業(yè)1,2,8要在由2臺(tái)機(jī)器M1和M2組成的流水線(xiàn)上完成加工。每個(gè)作業(yè)加工的順序都是先在M1上加工,然后在M2上加工。M1和M2加工作業(yè)i所需的時(shí)間分別為:M110281269414M2571151631113作業(yè)12345678給出一個(gè)最優(yōu)調(diào)度方案,使得從第一個(gè)作業(yè)在機(jī)器M1上開(kāi)始加工,到最后一個(gè)作業(yè)在機(jī)器M2上加工完成所需的時(shí)間

3、最少,并計(jì)算所需的最少時(shí)間。答:最優(yōu)調(diào)度方案為所需的最少時(shí)間為:_3. 根據(jù)優(yōu)先隊(duì)列式分支限界法,求下圖中從v1點(diǎn)到v9點(diǎn)的單源最短路徑,請(qǐng)畫(huà)出求得最優(yōu)解的解空間樹(shù)。要求中間被舍棄的結(jié)點(diǎn)用×標(biāo)記,獲得中間解的結(jié)點(diǎn)用單圓圈框起(如),最優(yōu)解用雙圓圈框起。三、算法填空(每空2分,共計(jì)10分)設(shè)R=r1, r2, ., rn是要進(jìn)行排列的n個(gè)元素,其中元素r1, r2, ., rn可能相同,試設(shè)計(jì)一個(gè)算法,列出R的所有不同排列,并給出不同排列的總數(shù)。算法如下,填寫(xiě)缺失的語(yǔ)句。template<typename Type>void Swap(Type &a,Type &a

4、mp;b) Type t=b; _; /1 a=t;template<typename Type>bool ok(Type R,int k,int i) if(i>k) for(int t=k;t<i;t+) if( _) /2 return false; return true;template<typename Type>void Perm(Type R,int k,int n,int &sum) /n為元素個(gè)數(shù),sum記錄不同排列的總數(shù) if(k=n) _; /3 for(int i=1;i<=n;i+) cout<<_; /

5、4 cout<<endl; else for(int i=k;i<=n;i+) if(ok(R,k,i) Swap(Rk,Ri); Perm(_); /5 Swap(Rk,Ri); 四、算法設(shè)計(jì)(共計(jì)15分)設(shè)有n個(gè)程序1, 2, 3., n要存放在長(zhǎng)度為L(zhǎng)的磁帶上。程序i存放在磁帶上的長(zhǎng)度是Li,1in。 程序存儲(chǔ)問(wèn)題要求確定這n個(gè)程序在磁帶上的一個(gè)存儲(chǔ)方案,使得能夠在磁帶上存儲(chǔ)盡可能多的程序,在保證存儲(chǔ)最多程序的前提下還要求磁帶的利用率達(dá)到最大。(1)給出求解存儲(chǔ)最多程序的算法,并證明算法的正確性;(2)給出求解使磁帶的利用率達(dá)到最大的方案的算法思路。五、算法設(shè)計(jì)(共計(jì)1

6、5分)通過(guò)鍵盤(pán)輸入一個(gè)高精度的正整數(shù)n(n的有效位數(shù)240),去掉其中任意s個(gè)數(shù)字后,剩下的數(shù)字按原左右次序?qū)⒔M成一個(gè)新的正整數(shù)。對(duì)給定的n和s,尋找一種方案,使得剩下的數(shù)字組成的新最小。如輸入n為,s為4,結(jié)果為13 簡(jiǎn)述你的算法思路; 給出算法(用C+描述)。注:正整數(shù)n存于字符串中,例:string n="" n.at(0) /返回字符串n的第1個(gè)字符 n.erase(2,3) /刪除n中索引為2開(kāi)始的3個(gè)字符解:算法思路算法string MinNum(string n,int s)湖南科技學(xué)院二 年 學(xué)期期末考試算法設(shè)計(jì)與分析試題C答案一、填空題(每小題3 分,共計(jì)

7、30 分)1. f(n)=(g(n)2. 3. 劃分的對(duì)稱(chēng)性4. 由若干條指令組成組成的有窮序列(解決問(wèn)題的一種方法或一個(gè)過(guò)程)5. 分枝限界法 6. 最壞 7. 高 8. 最優(yōu)子結(jié)構(gòu)9. 所求問(wèn)題的整體最優(yōu)解可以通過(guò)一系列局部最優(yōu)的選擇,即貪心選擇來(lái)達(dá)到。10. 深度優(yōu)先二、簡(jiǎn)答題(每小題10分,共計(jì)30分)1.回溯法在問(wèn)題的解空間樹(shù)中,按深度優(yōu)先策略,從根結(jié)點(diǎn)出發(fā)搜索解空間樹(shù)。算法搜索至解空間樹(shù)的任意一點(diǎn)時(shí),先判斷該結(jié)點(diǎn)是否包含問(wèn)題的解。如果肯定不包含,則跳過(guò)對(duì)該結(jié)點(diǎn)為根的子樹(shù)的搜索,逐層向其祖先結(jié)點(diǎn)回溯;否則,進(jìn)入該子樹(shù),繼續(xù)按深度優(yōu)先策略搜索。 5分基本步驟: 5分 針對(duì)撥給問(wèn)題,定義

8、問(wèn)題的解空間; 確定易于搜索的解空間結(jié)構(gòu); 以深度優(yōu)先方式搜索解空間,并在搜索過(guò)程中用剪枝函數(shù)避免無(wú)效搜索。2. 最優(yōu)調(diào)度方案為 (6分)27548163所需的最少時(shí)間為:73 (4分 在前一問(wèn)正確的前提下方可得分)3. 錯(cuò)一處扣1分三、算法填空(每空2分,共計(jì)10分)1. b=a2. Rt=Ri3. sum+4. Ri5. R,k+1,n,sum四、算法設(shè)計(jì)(共計(jì)15分)貪心策略:最短程序優(yōu)先。將程序從小到大排序,依次選取盡可能多的程序,但總長(zhǎng)度不超過(guò)磁盤(pán)容量,則可求得最多可以存儲(chǔ)的程序個(gè)數(shù)m。采用回溯法,從n個(gè)程序中選取總長(zhǎng)度最大的m個(gè),算法同裝載問(wèn)題。 五、算法設(shè)計(jì)(共計(jì)15分)1. 7分為了盡可能地逼近目標(biāo),選取的貪心策略為:每一步總是選擇一個(gè)使剩下的數(shù)最小的數(shù)字刪去,即按高位到低位的順序搜索,若各位數(shù)字遞增,則刪除最后一個(gè)數(shù)字,否則刪除第一個(gè)遞減區(qū)間的首字母。然后回到串首,按上述規(guī)則再刪除下一個(gè)數(shù)字。重復(fù)以上過(guò)程s次,剩下的數(shù)字串便是總是的解。2. 8分string MinNum(string n,int s) while(s>0) unsigned int i=0; /從串首開(kāi)始找 while(i<n.length()&&(n.at(i)<n.at(i

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論