計算機算法設計與分析實驗報告

計算機算法設計與分析實驗報告

ID:26156514

大?。?63.50 KB

頁數(shù):8頁

時間:2018-11-25

計算機算法設計與分析實驗報告_第1頁
計算機算法設計與分析實驗報告_第2頁
計算機算法設計與分析實驗報告_第3頁
計算機算法設計與分析實驗報告_第4頁
計算機算法設計與分析實驗報告_第5頁
資源描述:

《計算機算法設計與分析實驗報告》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。

1、華北電力大學科技學院實驗報告

2、

3、實驗名稱算法設計與分析課程名稱算法設計與分析

4、

5、專業(yè)班級:計算機10k1學生姓名:孫剛學號:101909010121成績:指導教師:牛為華實驗日期:2012-11華北電力大學實驗報告一,實驗內(nèi)容0-1背包問題問題描述:假設有n個物品,用Xi表示第i個物品入選與否,諾等于1表示入選,要是等于0,則表示不入選。用Pi表示物品的價值,Wi表示物品的體積,背包的體積為C,求:在不超過背包體積的前提下,讓背包的所裝物品的價值最大。N后問題問題描述:要求在一個n*n的棋盤上放置n個皇后,使

6、得它們彼此不受攻擊。一個皇后可以攻擊與之處在同一行或同一列或同一斜線上的任何其他棋子。二,實驗步驟對于0-1背包問題,有兩種假設去解決他。假設一:求每個物品的單位體積價值,再從大到小網(wǎng)體積C里裝,但問題是可能會裝不滿或者裝不下,所以假設一可以排除。假設二:用完全二叉樹去窮舉,但時間復雜度為指數(shù)級,也不可取。現(xiàn)在,(1)設X1=0;A2到An選諾干物品體積之和不超過C,求最大價值之和。(2)設X2=1;A2到An選諾干物品體積之和不超過C-W1求最大價值之和。第頁共頁華北電力大學實驗報告M【i】【j】=M【i+

7、1】【j】Xi=0;M【i】【j】=M【i+1】【j-Wi】+PiXi=1取這兩個中較大的一個,出口:M【n】【j】=PnWn≤jM【n】【j】=0Wn>j算法描述如下:voidKnapsack(intv[],intw[],intc,intn,intm[6][N]){???inti,j,jMax,k;???jMax=(w[n]-1???for(i=0;i<=jMax;i++)???{??????m[n][i]=0;???}for(i=w[n];i<=c;i++)???{??????m[

8、n][i]=v[n];???}?for(i=n-1;i>1;i--)???{??????jMax=(w[i]-1??????for(j=0;j<=jMax;j++)??????{?????????m[i][j]=m[i+1][j];??????}??????for(j=w[i];j<=c;j++)??????{?????????k=j-w[i];?????????if(m[i+1][j]????????????m[i][j]=m[i+

9、1][k]+v[i];?????????else????????????m[i][j]=m[i+1][j];??????}???}??m[1][c]=m[2][c];???if(c>=w[1])???{??????k=c-w[1];?????第頁共頁華北電力大學實驗報告?m[1][c]=(m[2][c]>m[2][k]+v[1])?m[2][c]:m[2][k]+v[1];???}}對與n皇后問題問題的解可表示為x[1:n],表示皇后i放在棋盤的第i行的第x[i]列。a)x[i]≠x[j],i≠j:不允許將任

10、何兩個皇后放在同一列上;b)

11、j-i

12、≠

13、x[j]-x[i]

14、:不允許兩個皇后位于同一條斜線上。問題的解空間的形式為:要找出”四皇后”問題的解,最可靠的方法就是把各種情況全部檢核一遍,將符合條件A的解找出來。但這樣做,你要有相當耐心才行,這是很費時的。采用回溯算法進行求解,在搜索的過程中,將不滿足條件要求的分支樹減去,可以有效的降低算法的時間復雜性。算法描述如下:classQueen{friendintnQueen(int);private:boolPlace(k);voidBacktrack(intt);i

15、ntn;//皇后個數(shù)int*x;//當前解longsum;//當前已找到的可行方案數(shù)第頁共頁華北電力大學實驗報告};boolQueen::Place(intk){for(intj=1;j

16、

17、(x[j]==x[k]))returnfalse;returntrue;}voidQueen::Backtrack(intt){if(t>n)sum++;elsefor(inti=1;i<=n;i++){x[t]=i;if(Place(t))Backtr

18、ack(t+1);}}intnQueen(intn){Queenx;x.n=n;x.sum=0;int*p=newint[n+1];for(inti=0;i<=n;i++)p[i]=0;x.x=p;x.Backtrack(1);delete[]p;returnx.sum;}三,實驗結果0-1背包第頁共頁華北電力大學實驗報告N皇后問題:第頁共頁華北電力大學實驗報告第頁共頁華北電力大學實驗報告四實驗心得

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。