下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)報(bào)告學(xué)號(hào):姓名:班級(jí):課程名稱算法設(shè)計(jì)與分析實(shí)驗(yàn)課時(shí)2實(shí)驗(yàn)項(xiàng)目最少硬幣問題實(shí)驗(yàn)時(shí)間實(shí)驗(yàn)?zāi)康脑O(shè)有n種不同面值的硬幣,各硬幣的面值存于數(shù)組 T1:n中。 現(xiàn)要用這些面值的硬幣來找錢??梢允褂玫母鞣N面值的硬幣個(gè)數(shù)存 于數(shù)組Coins1: n中。對任意錢數(shù)OW m<20001,設(shè)計(jì)一個(gè)用最少硬幣找錢 m的方法。實(shí)驗(yàn)環(huán)境Visual C+實(shí)驗(yàn)內(nèi)容(算法、程 序、步驟和 方法)一、算法策略對于給定的1W n< 10,硬幣面值數(shù)組T和可以使用的各種面值 的硬幣個(gè)數(shù)數(shù)組Coins,以及錢數(shù)m 0W mW20001,計(jì)算找錢m的最 少硬幣數(shù)。二、算法設(shè)計(jì)(步驟)算法思想:(1) 動(dòng)態(tài)規(guī)劃實(shí)現(xiàn)長度
2、為m的數(shù)組f1.m中存放一系列子結(jié)果,即fi為要 湊的錢數(shù)為i時(shí),所需的最少硬幣數(shù),則cm為所求;當(dāng)要找的 錢數(shù)i(1<ivm)與當(dāng)前所試探的硬幣面值k相等時(shí),結(jié)果為1,即ci=1;當(dāng)i大于當(dāng)前所試探硬幣面值k時(shí),若fi為0,即還未賦過值,且ci-k不為0,即從i元錢中刨去k元后剩下的錢數(shù) 可以找開,則ci=ci-k+1,若fi不為0,即已賦過值,則fi為fi-k+1 和fi中較小的。(2) 硬幣冋題就是一個(gè)多重背包冋題。(3) 動(dòng)態(tài)遷移方程為 dpk = mindpk-ti+1,dpk將第i個(gè)硬幣拿出去得到的一個(gè)最少的找硬幣數(shù) +1,和原硬幣 數(shù)相比最小的那個(gè)就是結(jié)果。(4) 另外一種
3、思路,可以將所有的硬幣價(jià)值都放在一個(gè)數(shù)組,就 變成了 0-1背包問題,所需考慮的就是放不放的問題。算法步驟:#in clude<iostream>using n amespace std;int min (i nt a,i nt b);int mai n()int n; Un種不同面值的硬幣int m;int i , j ,k;coutvv"請輸入有幾種不同的面值:";cin>>n;int *t = new in t n+1;/硬幣的面值存放在t數(shù)組中-價(jià)值int *coi n = new int n+1;/可以使用的硬幣個(gè)數(shù)存放在coin中-個(gè)數(shù)c
4、outvv"請輸入"vv*v"組硬幣的面值和對應(yīng)的個(gè)數(shù)(中間 用空格隔開):"<<e ndl;for(i = 1 ;i<n+1;i+)cin> >ti>>co in i;coutvv"請輸入要找的錢數(shù)m:"cin>>m;int dp20002=0 ; /dpi用來記錄錢數(shù)為i時(shí)的最少的硬幣數(shù)實(shí)驗(yàn)內(nèi)容(算法、程序、步驟和方法)for(i=1;i<=m;i+)dpi = 99999;for(i = 1 ;i <= n ; i+) /硬幣面值的種數(shù)for(j = 1 ; j
5、<= coi ni ; j+) /硬幣的面值的個(gè)數(shù)for( k = m ; k >= ti ; k-)dpk = mi n(dpk-ti +1,dpk);coutvv"最少需要用到的硬幣個(gè)數(shù)是:"if(dpm = 99999)coutvv-1vve ndl;else coutvvdpmvv" 個(gè)"vve ndl;int min (i nt a,i nt b)retur n avb?a:b;、復(fù)雜度分析時(shí)間復(fù)雜度:O(nL)空間復(fù)雜度:0( L)'7:沆盧!特它漳;去虧.蘭忌工撫爭Mzr.Cc n Cnsngir才:帛F謹(jǐn)立叱W匚飛.D£兒Ji訃呂尹hEi嘗默罄黠鼎溥幕卷的個(gè)數(shù)(中間用空格隔開八ISm 植是=& 個(gè)Press any key to continue_數(shù)據(jù)記錄和計(jì)算結(jié)論(結(jié)果)用動(dòng)態(tài)規(guī)劃法能夠很好地解決最少銀幣問題,時(shí)間復(fù)雜度為 0( n L),空間復(fù)雜度為0( L)。其中計(jì)算遞歸的表達(dá)式為: cij=mi nci-1j,1+cij-Ti小結(jié)實(shí)驗(yàn)心得:通過這次實(shí)驗(yàn),是我對 0-1背包問題和動(dòng)態(tài)規(guī)劃法有了 更深的理解。設(shè)計(jì)動(dòng)態(tài)規(guī)劃法第一步就是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年食品生產(chǎn)線施工合同3篇
- 2024年環(huán)保設(shè)備購銷合同書
- 2024無子女夫妻自愿離婚協(xié)議書:離婚后子女探視權(quán)與溝通協(xié)議3篇
- 2024年足療店線上線下融合合作協(xié)議:多元化發(fā)展2篇
- 2024年股權(quán)代持權(quán)益轉(zhuǎn)移協(xié)議版B版
- 2024年版汽車修理廠權(quán)轉(zhuǎn)讓協(xié)議一
- 《父親的菜園》教學(xué)思路
- 電梯升降機(jī)銷售心得體會(huì)
- 2024年餐飲業(yè)標(biāo)準(zhǔn)餐廳承包經(jīng)營合同模板版B版
- 《電工與電子技術(shù)》課件第15章
- 固定資產(chǎn)報(bào)廢管理制度管理辦法
- 深基坑開挖及支護(hù)施工方案-經(jīng)專家論證
- 粵教版地理七年級(jí)下冊全冊課件
- 排水管渠及附屬構(gòu)筑物
- 養(yǎng)豬場施工噪聲環(huán)境影響分析
- Windows-Server-2012網(wǎng)絡(luò)服務(wù)架構(gòu)課件(完整版)
- 形位公差_很詳細(xì)(基礎(chǔ)教育)
- 手榴彈使用教案
- 600MW機(jī)組除氧器水位控制系統(tǒng)
- 史上最全的涉稅風(fēng)險(xiǎn)
- 初中數(shù)學(xué)問題情境的創(chuàng)設(shè)
評論
0/150
提交評論