實(shí)驗(yàn) 分治法算法設(shè)計(jì)

實(shí)驗(yàn) 分治法算法設(shè)計(jì)

ID:15700582

大?。?14.00 KB

頁(yè)數(shù):18頁(yè)

時(shí)間:2018-08-05

實(shí)驗(yàn) 分治法算法設(shè)計(jì)_第1頁(yè)
實(shí)驗(yàn) 分治法算法設(shè)計(jì)_第2頁(yè)
實(shí)驗(yàn) 分治法算法設(shè)計(jì)_第3頁(yè)
實(shí)驗(yàn) 分治法算法設(shè)計(jì)_第4頁(yè)
實(shí)驗(yàn) 分治法算法設(shè)計(jì)_第5頁(yè)
資源描述:

《實(shí)驗(yàn) 分治法算法設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、《算法分析與設(shè)計(jì)》實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)2分治法算法設(shè)計(jì)姓名XXX學(xué)號(hào)XXX班級(jí)XXXXXX時(shí)間:XXXX-XX-XX地點(diǎn):XXX同組人:無(wú)指導(dǎo)教師:XXX實(shí)驗(yàn)?zāi)康腶)掌握分治法算法設(shè)計(jì)的一般思想和方法。b)理解并掌握二分查找、歸并分類(lèi)、快速分類(lèi)算法。c)能熟練運(yùn)用分治法求解問(wèn)題。d)實(shí)驗(yàn)中所準(zhǔn)備的數(shù)據(jù)是有代表性的。實(shí)驗(yàn)內(nèi)容a)寫(xiě)一個(gè)順序查找算法,將其與二分查找算法一起轉(zhuǎn)換成程序,上機(jī)驗(yàn)證。b)選擇不同規(guī)模的數(shù)據(jù)集運(yùn)行上二程序,統(tǒng)計(jì)它們的時(shí)間開(kāi)銷(xiāo)并比較。c)歸并分類(lèi)、快速分類(lèi)算法轉(zhuǎn)換成程序并驗(yàn)證之。d)選擇不同規(guī)模的數(shù)據(jù)集運(yùn)行上二程序,統(tǒng)計(jì)它們的時(shí)間開(kāi)銷(xiāo)并比較。e

2、)準(zhǔn)備一定規(guī)模的數(shù)據(jù)集用于實(shí)驗(yàn)。此數(shù)據(jù)集越大越有得于驗(yàn)證算法,可以考慮最終的數(shù)據(jù)個(gè)數(shù)超過(guò)10000個(gè)。f)編寫(xiě)歸并分類(lèi)、快速分類(lèi)程序,將上數(shù)據(jù)集中的數(shù)據(jù)分類(lèi)??梢允褂幂^少的數(shù)據(jù)調(diào)試程序時(shí)。g)用規(guī)模從小到大的數(shù)據(jù)集運(yùn)行上述程序,統(tǒng)計(jì)它們的運(yùn)行時(shí)間,并作對(duì)比分析。h)編寫(xiě)順序查找、二分查找程序。i)將查找程序與分類(lèi)程序結(jié)合起來(lái),用不同規(guī)模的數(shù)據(jù)集運(yùn)行,統(tǒng)計(jì)程序運(yùn)行時(shí)間。實(shí)驗(yàn)環(huán)境硬件:Intel(R)Pentium(R)CPURAM:4G軟件:Myeclipse2013實(shí)驗(yàn)前準(zhǔn)備1、算法設(shè)計(jì):(1)分治策略的抽象化控制ProcedureDANDC(p,q)1

3、8Globaln,A(1:n);integerm,p,q//1≤p≤q≤n//IfSMALL(p,q)Thenreturn(G(p,q))Elsem←DIVIDE(p,q)//p≤m<q//Return(COMBINE(DANDC(p,m),DANDC(m+1,q)))EndifendDANDC(2)二分檢索算法ProcedureBINSRCH(A,n,x,j)//給定一個(gè)按非降次序排列的元素?cái)?shù)組A(1:n),n≥1,判斷x是否出現(xiàn)。////若是,置j,使得x=A(j),若非,j=0//Integerlow,high,mid,j,n;low←1;high

4、←nwhilelow≤highdomid←int((low+high)/2)case:xA(mid):low←mid+1:else:j←mid;returnEndcaseRepeatj←0endBINSRCH(3)歸并分類(lèi)算法ProcedureMERGESORT(low,high)//A(low:high)是一個(gè)全程數(shù)組,它含有high-low+1≥0個(gè)待分類(lèi)的元素//Integerlow,high;Iflow

5、SORT(low,mid)//將一個(gè)子集合分類(lèi)//callMERGESORT(mid+1,high)//將另一個(gè)子集合分類(lèi)//CALLMERGE(low,mid,high)//歸并兩個(gè)已分類(lèi)的子集合//EndifendMERGESORTProcedureMERGE(low,mid,high)//A(low:high)是一個(gè)全程數(shù)組,它含有兩個(gè)放在A(low:mid)和A(mid+1:high)中的已分類(lèi)的子集合。目標(biāo)是將這兩個(gè)已分類(lèi)的集合歸并成一個(gè)集合,并存放到A(low:high)中////使用一個(gè)輔助數(shù)組B(low:high)//Integerh,I

6、,j,k,low,mid,high;//low≤midmidthenfork←jtohighdo//處理剩余的元素//B(i)←A(k);i←i+1repeatElsefork←htomiddoB(i)←A(k);i←i+1

7、repeatendiffork←lowtohighdo//將已歸并的集合復(fù)制到A//A(k)←B(k)repeatendMERGE(4)改進(jìn)的歸并分類(lèi)算法ProcedureMERGESORT1(low,high,p)//利用輔助數(shù)組LINK(low:high)將全程數(shù)組A(low:high)按降序分類(lèi)。LINK中的值表示按分類(lèi)次序給出A的下標(biāo)的表,并把p置于指示這表的開(kāi)始處//GlobalA(low:high),LINK(low:high)Ifhigh-low+1<16ThencallINSERTIONSORT(A,LONK,low,high,p)Els

8、emid←int((low+high)/2)callMERGESORT(low,

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

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

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