分治法解決合并排序問題及動態(tài)規(guī)劃解決矩陣連乘和最長公共子序列問題及貪心法解決哈夫曼編碼問題_第1頁
已閱讀1頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、《計算機算法設計與分析》課程設計1分治法解決合并排序問題及動態(tài)規(guī)劃解決分治法解決合并排序問題及動態(tài)規(guī)劃解決矩陣連乘和最長公共子序列問題及貪心法矩陣連乘和最長公共子序列問題及貪心法解決哈夫曼編碼問題解決哈夫曼編碼問題一、課程設計目的一、課程設計目的本次課程設計可以說是我們學完《計算機算法設計與分析》這門課程后的一次綜合性訓練。本課程設計的訓練的目的是:1、鞏固和掌握計算機算法設計和分析課程的基礎知識。2、培養(yǎng)使用計算機基本算法解決實際問題

2、的能力。3、提升使用程序設計語言對算法程序的開發(fā)、調試和測試能力。4、對一定的實際問題,能夠設計求解算法并分析算法的效率。5、提高綜合運用算法、程序設計語言等能力。6、掌握文檔的書寫能力。二、課程設計內容二、課程設計內容1、分治法(1)合并排序2、動態(tài)規(guī)劃(1)矩陣連乘(2)最長公共子序列3、貪心法(1)哈夫曼編碼三、概要設計三、概要設計1、分治法基本思想:《計算機算法設計與分析》課程設計3設A[1:n]=A1…An,最優(yōu)計算次序在Ak

3、和A(k1)間斷開,則總計算量=A[1:k]的計算量A[k1:n]的計算量A[1:k]A[k1:n]則矩陣子鏈A[1:k]和A[k1:n]的計算次序也必最優(yōu)。[遞推關系]設計算A[i:j]=Ai…Aj所需最少次數乘法為m[i][j],Ai的維數設為matrix[i].rowmatrix[i].col。???????????????jijijimjkicolmatrix[j].colmatrix[k].rowmatrix[i].1][j]

4、m[km[i][k]min0]][[[構造最優(yōu)解]記m[i][j]的斷開位置k為s[i][j]在計算出m[i][j]后可由s[i][j]遞歸構造相應的最優(yōu)解。(2)最長公共子序列[問題描述]字符序列的子序列是指從給定字符序列中隨意地(不一定連續(xù))去掉若干個字符(可能一個也不去掉)后所形成的字符序列。令給定的字符序列x=“x0,x1,…,x(m1)”,序列y=“y0,y1,…,y(k1)”是x的子序列,存在x的一個嚴格遞增下標序列,使得對

5、所有的j=0,1,…,k1,有xij=yj。[算法思路]引進一個二維數組c[][],用c[i][j]記錄x[i]與y[j]的LCS的長度,b[i][j]記錄c[i][j]是通過哪一個子問題的值求得的,以決定搜索的方向。由自底向上進行遞推計算,那么在計算c[ij]之前c[i1][j1],c[i1][j]與c[i][j1]均已計算出來。此時我們根據x[i]=y[j]還是x[i]!=y[j],就可以計算出c[i][j]。問題的遞歸式寫成:ji

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論