算法設(shè)計與分析課程設(shè)計報告(共10頁).doc
《算法設(shè)計與分析課程設(shè)計報告(共10頁).doc》由會員分享,可在線閱讀,更多相關(guān)《算法設(shè)計與分析課程設(shè)計報告(共10頁).doc(10頁珍藏版)》請在匯文網(wǎng)上搜索。
1、精選優(yōu)質(zhì)文檔-傾情為你奉上算法與分析課程設(shè)計報告題 目: 算法設(shè)計和分析 專 業(yè): 網(wǎng)絡(luò)工程 班 級: 學(xué) 號: 11 姓 名: 赫前進(jìn) 太原工業(yè)學(xué)院計算機(jī)工程系 2012年 11月 24 日第二章 主元素問題一、 算法問題描述主元素問題: 設(shè)T0.n-1是n個元素的數(shù)組。對任一元素x,設(shè)S(x)=i|Ti=x。當(dāng)|S(x)|>n/2時,稱x為T的主元素。如果T中元素存在序關(guān)系,按分治策略設(shè)計并實現(xiàn)一個線性時間算法,確定T0.n-1是否有一個主元素。二、 算法問題形式化表示若T 中存在主元素,則將T 分為兩部分后,T 的主元素也必為兩部分中至少一部分的主元素,因此可
2、用分治法。將元素劃分為兩部分,遞歸地檢查兩部分有無主元素。算法如下:若T 只含一個元素,則此元素就是主元素,返回此數(shù)。將T 分為兩部分T1 和T2(二者元素個數(shù)相等或只差一個),分別遞歸調(diào)用此方法求其主元素m1 和m2。若m1 和m2 都存在且相等,則這個數(shù)就是T 的主元素,返回此數(shù)。若m1 和m2 都存在且不等,則分別檢查這兩個數(shù)是否為T 的主元素,若有則返回此數(shù),若無則返回空值。若m1 和m2 只有一個存在,則檢查這個數(shù)是否為T 的主元素,若是則返回此數(shù),若否就返回空值。若m1 和m2 都不存在,則T 無主元素,返回空值。三、 期望輸入與輸出輸入:數(shù)組中元素的個數(shù)9數(shù)組元素0 0 1 1
3、0 8 1 1 1輸出:顯示主元素是1。四、 算法分析與步驟描述選擇一個元素作為劃分起點(diǎn),然后用快速排序的方法將小于它的移動到左邊,大于它的移動到右邊。這樣就將元素劃分為兩個部分。此時,劃分元素所在位置為k。如果k>n/2,那么繼續(xù)用同樣的方法在左邊部分找;如果k<n/2就在右邊部分找;k=n/2就找到了中位元素。根據(jù)快速排序的思想,可以在平均時間復(fù)雜度為O(n)的時間內(nèi)找出一個數(shù)列的中位數(shù)。然后再用O(n)的時間檢查它是否是主元素。五、 問題實例及算法運(yùn)算步驟首先運(yùn)行程序,按照提示輸入數(shù)據(jù);其次求出在數(shù)組T0:n中出現(xiàn)次數(shù)最多的元素x出現(xiàn)的次數(shù)k;然后用select方法線性時間選
4、擇,找到第(n+1)/2大的數(shù);用QuickSort進(jìn)行快速排序;用Partition方法進(jìn)行數(shù)組劃分,用swap將小于x的元素移到x左邊,大于x的元素移到x右邊;然后就可以得到時候存在主元素,輸出到屏幕上。從屏幕得到數(shù)組0 0 1 1 0 8 1 1 1后,可以得到出現(xiàn)次數(shù)最多的元素為1,其次數(shù)為5,第(n+1)/2大的數(shù)字為0,可以判斷存在主元素,然后進(jìn)行快排,移動元素得到數(shù)組為0 0 0 1 1 1 1 1 8,此時就可以得到主元素為1。六、 算法運(yùn)行截圖七、 算法復(fù)雜度分析根據(jù)快速排序的思想,可以在平均時間復(fù)雜度為O(n)的時間內(nèi)找出一個數(shù)列的中位數(shù)。然后再用O(n)的時間檢查它是否是
5、主元素, 時間復(fù)雜度分析master()中求中位數(shù)可以在平均時間復(fù)雜度為O(n)的時間內(nèi)完成,檢查中位數(shù)是否是主元素耗時O(n),所以時間復(fù)雜度為O(n)。第三章 字符串問題一、 算法問題描述設(shè)A和B是兩個字符串,要用最少的字符操作將字符串A轉(zhuǎn)換為字符串B字符串操作包括,1)刪除一個字符2)插入一個字符3)將一個字符改為另一個字符將字符串A變換成字符串B所用的最少字符操作數(shù)稱為字符串A到B的編輯距離,記為d(A,B)。試著設(shè)計一個有效算法,對任意給出的倆個字符串A和B,計算出他們的編輯距離d(A,B)。二、 算法問題形式化表示定義一個二維數(shù)組D存儲中間結(jié)果,如下圖所示,為已經(jīng)初始化后的情況。然
6、后從D1,1開始從左到右,從上到下依次按填表,表的最后一個元素Dm,n就是要求的最終結(jié)果。 01234560012345611 22 33 44 55 66 三、 期望輸
7、入與輸出輸入:由文件input.txt 提供輸入數(shù)據(jù),文件的第一行是字符串A,文件的第二行是文件B。輸出:程序運(yùn)結(jié)束時,將編輯距離d(A,B),輸出到文件output.txt的第一行中。四、 算法分析與步驟描述注意:報告中不附加程序代碼,主要程序要描述程序流程設(shè)所給的兩個字符串為A1:m和B1:n。定義Dij=d(A1:i,B1,j)。單字符a,b間的距離定義為:d(a,b)=0 (a=b)d(a,b)=1(a!=b)考察從字符串A1:i到字符串B1:j的變換??煞殖梢韵聨追N情況:(1)字符Ai改為字符Bj;需要d(Ai,Bj)次操作。(2)刪除字符Ai;需要1次操作。(3)插入字符Bj;需要
- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
20 積分
下載 | 加入VIP,下載共享資源 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 算法 設(shè)計 分析 課程設(shè)計 報告 10