版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
安徽工業(yè)大學(xué)專(zhuān)業(yè):班級(jí):姓名:學(xué)號(hào):實(shí)驗(yàn)一:回溯法完成0-1背包問(wèn)題代碼如下:#include"stdafx.h"#include<iostream>#include<cstdio>#include<conio.h>#include<iomanip>usingnamespacestd;template<classty>classKnap{public:friendvoidInit();friendvoidKnapsack();friendvoidBacktrack(inti);friendfloatBound(inti);booloperator<(Knap<ty>a)const{if(fl<a.fl)returntrue;elsereturnfalse;}private:tyw;//重量tyv;//價(jià)值floatfl;//單位重量的價(jià)值v/wintkk;//記錄第幾個(gè)物品intflag;//記錄是否放入包中};template<classty>voidSort(Knap<ty>*li,intn){inti,j,k;Knap<ty>minl;for(i=1;i<n;i++){minl=li[0];k=0;for(j=1;j<=n-i;j++){if(minl<li[j]){minl=li[j];swap(li[j],li[k]);k=j;}}}}namespacejie//命名空間{intc=0,n=0;int*x=NULL;Knap<int>*bag=NULL;intcp=0,cw=0;intbestp=0;}usingnamespacejie;voidInit(){inti=0;cout<<endl;cout<<"請(qǐng)輸入物品數(shù)量n=";cin>>n;cout<<endl;cout<<"請(qǐng)輸入背包容量C=";cin>>c;cout<<endl;bag=newKnap<int>[n];x=newint[n];cout<<"請(qǐng)依次輸入"<<n<<"個(gè)物品的重量W:"<<endl;for(i=0;i<n;i++)cin>>bag[i].w;cout<<endl;cout<<"請(qǐng)依次輸入"<<n<<"個(gè)物品的價(jià)值P:"<<endl;for(i=0;i<n;i++)cin>>bag[i].v;for(i=0;i<n;i++){bag[i].flag=0;bag[i].kk=i;bag[i].fl=1.0*bag[i].v/bag[i].w;}}voidBacktrack(inti){if(i>=n)//到達(dá)葉節(jié)點(diǎn){bestp=cp;//更新最優(yōu)價(jià)值return;}if(cw+bag[i].w<=c)//進(jìn)入左子樹(shù){bag[i].flag=1;cw+=bag[i].w;cp+=bag[i].v;Backtrack(i+1);cw-=bag[i].w;cp-=bag[i].v;}if(Bound(i+1)>bestp)//進(jìn)入右子樹(shù){bag[i].flag=0;Backtrack(i+1);}}//計(jì)算當(dāng)前節(jié)點(diǎn)處的上界floatBound(inti){intcleft=c-cw;//剩余容量floatb=cp;while(i<n&&bag[i].w<=cleft){//以物品單位重量?jī)r(jià)值遞減序裝入cleft-=bag[i].w;b+=bag[i].v;i++;}//裝滿(mǎn)背包if(i<n)b+=1.0*bag[i].v/bag[i].w*cleft;returnb;}voidKnapsack()//計(jì)算最優(yōu)解和變量值{intL(0);//用L累計(jì)價(jià)值,初始價(jià)值設(shè)置為0for(intk=0;k<n;k++){x[bag[k].kk]=bag[k].flag;//x=0表示未放入背包,x=1表示放入背包L+=bag[k].flag*bag[k].v;//價(jià)值累加}cout<<endl;cout<<"當(dāng)前最優(yōu)價(jià)值為:"<<L<<endl;cout<<"變量值x=";for(inti=1;i<=n;i++){cout<<x[i-1];}delete[]bag;bag=NULL;delete[]x;x=NULL;cout<<endl;getch();}intmain(){cout<<endl;cout<<"|**********回溯法解0-1背包問(wèn)題**********|"<<endl;Init();Backtrack(0);Knapsack();return0;}運(yùn)行結(jié)果:實(shí)驗(yàn)二:分治法實(shí)現(xiàn)快速排序代碼如下:#include<stdio.h>#include<time.h>#include<stdlib.h>voidMergeSort(int*data,intx,inty,int*temp){intp,q,m,i=x;if(y-x>1){m=x+(y-x)/2;p=x;q=m;MergeSort(data,x,m,temp);MergeSort(data,m,y,temp);while(p<m||q<y){if(q>=y||(p<m&&data[p]<data[q])){temp[i++]=data[p++];}else{temp[i++]=data[q++];}}for(i=x;i<y;i++)data[i]=temp[i];}}voidHoareSort(int*data,intx,inty){intp=x,q=y-1,temp;while(p<q){while(q>p&&data[q]>=data[p])q--;if(q>p){temp=data[p],data[p]=data[q],data[q]=temp;p++;}while(q>p&&data[p]<=data[q])p++;if(p<q){temp=data[p],data[p]=data[q],data[q]=temp;q--;}if(p==q){HoareSort(data,x,p);HoareSort(data,p+1,y);}}}intmain(){intdata[100],i;inttemp[100];srand(time(NULL));for(i=0;i<=100;i++){data[i]=rand()%100;}for(i=0;i<=100;i++){printf("%d",data[i]);}printf("\n");HoareSort(data,0,10);for(i=0;i<=100;i++){printf("%d",data[i]);}printf("\n");}運(yùn)行結(jié)果:實(shí)驗(yàn)三:遞歸法實(shí)現(xiàn)楊輝三角的輸出代碼如下:#include"stdio.h"#include"stdlib.h"#include"conio.h"intTry(intn,intk)//遞歸函數(shù){if(k==0||k==n)//在左右兩側(cè)返回1return1;//遞歸出口returnTry(n-1,k-1)+Try(n-1,k);//返回遞歸公式}voidprint_spack(intt,intmode=0)//顯示空格函數(shù),這個(gè)是楊輝三角格式控制的關(guān)鍵{if(mode!=0)//當(dāng)mode不等于0時(shí),代表要輸出每行前面的空格,直接循環(huán)輸出t次空格,并退出函數(shù){for(inti=0;i<t;i++){printf("");}return;//直接返回}Aif(t<10)printf("");//這兒我隨意設(shè)置的!elseif(t>9&&t<100)printf("");//但是記住規(guī)則:每一行最開(kāi)始部分的空格減少了k個(gè),那么當(dāng)t為個(gè)位數(shù)時(shí)輸出k+2個(gè)空格elseif(t>99&&t<1000)printf("");//其他t的情況依次遞減就行了elseif(t>999&&t<10000)printf("");//如,我在此設(shè)計(jì)的每行開(kāi)頭部分減少3個(gè)空格,那么t<9時(shí)輸出5個(gè)空格,t>9&&t<100時(shí)輸出4個(gè)空格,其他遞減elseif(t>9999&&t<100000)printf("");}voidscan(introw)//楊輝三角掃描輸出函數(shù){intt=0;if(row>10)//當(dāng)行數(shù)大于10行時(shí),應(yīng)該將窗口尺寸該大到150,以保證楊輝三角正常顯示,這是一條dos命令,使用system函數(shù)推送執(zhí)行的{system("modeconcols=150lines=150");}for(intn=0;n<row;n++){print_spack(3*(row-n),1);//后面第二個(gè)參數(shù)傳了一個(gè)非零參數(shù),是因?yàn)楦嬖V函數(shù)要直接輸出3*(row-n)個(gè)空格for(intm=0;m<=n;m++)//輸出中間元素{printf("%d",t=Try(n,m));//遞歸調(diào)用獲得當(dāng)前第n行,第m個(gè)元素的值,輸出同時(shí)賦值給tprint_spack(t);//這兒沒(méi)有傳第二個(gè)參數(shù)是告訴函數(shù),需要判斷t參數(shù)的位數(shù)來(lái)決定輸出的空格}printf("\n");//每行結(jié)束后打印一個(gè)回車(chē)}}voidmain(){intx=0;while(true){printf("\n遞歸實(shí)現(xiàn)楊輝三角!\n本程序不能大于20行。\n請(qǐng)輸入楊輝三角的行數(shù):(輸入-1結(jié)束程序)");scanf("%d",&x);//輸入行數(shù)if(x==-1){exit(0);}system("cls");scan(x);//掃描輸出}}運(yùn)行結(jié)果:基于C8051F單片機(jī)直流電動(dòng)機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對(duì)良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級(jí)倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動(dòng)監(jiān)測(cè)系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營(yíng)養(yǎng)診斷專(zhuān)家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動(dòng)控制系統(tǒng)研究與開(kāi)發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測(cè)試儀的研制基于單片機(jī)的自動(dòng)找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開(kāi)發(fā)基于單片機(jī)的液壓動(dòng)力系統(tǒng)狀態(tài)監(jiān)測(cè)儀開(kāi)發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線(xiàn)間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺(tái)控制器的研制基于單片機(jī)的軟起動(dòng)器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線(xiàn)切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開(kāi)發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時(shí)內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測(cè)儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開(kāi)發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動(dòng)檢測(cè)儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測(cè)量?jī)x的研制基于PIC單片機(jī)的電能采集終端的設(shè)計(jì)和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線(xiàn)性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門(mén)傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號(hào)檢測(cè)儀基于單片機(jī)的電機(jī)運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)Pico專(zhuān)用單片機(jī)核的可測(cè)性設(shè)計(jì)研究基于MCS-51單片機(jī)的熱量計(jì)基于雙單片機(jī)的智能遙測(cè)微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實(shí)踐研究基于單片機(jī)的輪軌力檢測(cè)基于單片機(jī)的GPS定位儀的研究與實(shí)現(xiàn)基于單片機(jī)的電液伺服控制系統(tǒng)用于單片機(jī)系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機(jī)的時(shí)控和計(jì)數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機(jī)和CPLD的粗光柵位移測(cè)量系統(tǒng)研究單片機(jī)控制的后備式方波UPS提升高職學(xué)生單片機(jī)應(yīng)用能力的探究基于單片機(jī)控制的自動(dòng)低頻減載裝置研究基于單片機(jī)控制的水下焊接電源的研究基于單片機(jī)的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機(jī)的氚表面污染測(cè)量?jī)x的研制基于單片機(jī)的紅外測(cè)油儀的研究96系列單片機(jī)仿真器研究與設(shè)計(jì)基于單片機(jī)的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機(jī)的溫度智能控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)基于MSP430單片機(jī)的電梯門(mén)機(jī)控制器的研制基于單片機(jī)的氣體測(cè)漏儀的研究基于三菱M16C/6N系列單片機(jī)的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機(jī)和DSP的變壓器油色譜在線(xiàn)監(jiān)測(cè)技術(shù)研究基于單片機(jī)的膛壁溫度報(bào)警系統(tǒng)設(shè)計(jì)基于AVR單片機(jī)的低壓無(wú)功補(bǔ)償控制器的設(shè)計(jì)基于單片機(jī)船舶電力推進(jìn)電機(jī)監(jiān)測(cè)系統(tǒng)基于單片機(jī)網(wǎng)絡(luò)的振動(dòng)信號(hào)的采集系統(tǒng)基于單片機(jī)的大容量數(shù)據(jù)存儲(chǔ)技術(shù)的應(yīng)用研究基于單片機(jī)的疊圖機(jī)研究與教學(xué)方法實(shí)踐基于單片機(jī)嵌入式Web服務(wù)器技術(shù)的研究及實(shí)現(xiàn)基于AT89S52單片機(jī)的通用數(shù)據(jù)采集系統(tǒng)基于單片機(jī)的多道脈沖幅度分析儀研究機(jī)器人旋轉(zhuǎn)電弧傳感角焊縫跟蹤單片機(jī)控制系統(tǒng)基于單片機(jī)的控制系統(tǒng)在PLC虛擬教學(xué)實(shí)驗(yàn)中的應(yīng)用研究基于單片機(jī)系統(tǒng)的網(wǎng)絡(luò)通信研究與應(yīng)用基于PIC16F877單片機(jī)的莫爾斯碼自動(dòng)譯碼系統(tǒng)設(shè)計(jì)與研究基于單片機(jī)的模糊控制器在工業(yè)電阻爐上的應(yīng)用研究基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究與開(kāi)發(fā)基于Cygnal單片機(jī)的μC/OS-Ⅱ的研究基于單片機(jī)的一體化智能差示掃描量熱儀系統(tǒng)研究基于TCP/IP協(xié)議的單片機(jī)與Internet互聯(lián)的研究與實(shí)現(xiàn)變頻調(diào)速液壓電梯單片機(jī)控制器的研究基于單片機(jī)γ-免疫計(jì)數(shù)器自動(dòng)換樣功能的研究與實(shí)現(xiàn)基于單片機(jī)的倒立擺控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)單片機(jī)嵌入式以太網(wǎng)防盜報(bào)警系統(tǒng)基于51單片機(jī)的嵌入式Internet系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)單片機(jī)監(jiān)測(cè)系統(tǒng)在擠壓機(jī)上的應(yīng)用MSP430單片機(jī)在智能水表系統(tǒng)上的研究與應(yīng)用基于單片機(jī)的嵌入式系統(tǒng)中TCP/IP協(xié)議棧的實(shí)現(xiàn)與應(yīng)用單片機(jī)在高樓恒壓供水系統(tǒng)中的應(yīng)用基于ATmega16單片機(jī)的流量控制器的開(kāi)發(fā)基于MSP430單片機(jī)的遠(yuǎn)程抄表系統(tǒng)及智能網(wǎng)絡(luò)水表的設(shè)計(jì)基于MSP430單片機(jī)具有數(shù)據(jù)存儲(chǔ)與回放功能的嵌入式電子血壓計(jì)的設(shè)計(jì)基于單片機(jī)的氨分解率檢測(cè)系統(tǒng)的研究與開(kāi)發(fā)鍋爐的單片機(jī)控制系統(tǒng)基于單片機(jī)控制的電磁振動(dòng)式播種控制系統(tǒng)的設(shè)計(jì)基于單片機(jī)技術(shù)的WDR-01型聚氨酯導(dǎo)熱系數(shù)測(cè)試儀的研制
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 銀行中長(zhǎng)期借款合同
- 物流配送系統(tǒng)優(yōu)化研究開(kāi)發(fā)合同
- 2025版建筑工程租賃機(jī)械殘值回收合同3篇
- 2025年度城市軌道交通工程合同保修與運(yùn)行維護(hù)規(guī)范3篇
- 二零二五年床墊產(chǎn)品廣告宣傳與品牌曝光合同3篇
- 2025版股權(quán)繼承與轉(zhuǎn)讓合同范本3篇
- 2025年度協(xié)議離婚條件與程序操作指南合同3篇
- 2025版防雷系統(tǒng)安裝與售后服務(wù)合同范本2篇
- 2025版科技園區(qū)投資型住宅買(mǎi)賣(mài)合同3篇
- 2025年度保密風(fēng)險(xiǎn)評(píng)估與控制合同3篇
- 滬教牛津版英語(yǔ)2024七年級(jí)上冊(cè)全冊(cè)知識(shí)清單(記憶版)
- 高中地理選擇性必修2(綜合檢測(cè)卷)(附答案)-2022-2023學(xué)年高二上學(xué)期地理選擇性必修2
- 未成年消費(fèi)退款協(xié)議書(shū)范本
- 政協(xié)分組討論個(gè)人發(fā)言稿
- 2024年新蘇教版六年級(jí)上冊(cè)科學(xué)全冊(cè)知識(shí)點(diǎn) (背誦用)
- DL∕T 5210.6-2019 電力建設(shè)施工質(zhì)量驗(yàn)收規(guī)程 第6部分:調(diào)整試驗(yàn)
- DL∕T 802.2-2017 電力電纜用導(dǎo)管 第2部分:玻璃纖維增強(qiáng)塑料電纜導(dǎo)管
- 錨索張拉記錄表
- 全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)Python復(fù)習(xí)備考題庫(kù)(含答案)
- 《生物安全培訓(xùn)》課件-2024鮮版
- 更換電梯協(xié)議書(shū)范本
評(píng)論
0/150
提交評(píng)論