已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
算法实验报告 实验一 用分治法实现元素选择 实验代码: #include using namespace std; int main() int a100,n,x; int BinarySearch(int a,const int coutn; coutai; coutx; if(BinarySearch(a,x,n)!=-1) coutamiddle) left=middle+1; else right=middle-1; return -1; 实验效果图: 实验二 用动态规划法求解 0/1 背包问题 实验代码: #include using namespace std; int main() void Knapsack(int *v,int *w,int c,int n,int *m); void Traceback(int *m,int *w,int c,int n,int *x); int v100,w100,n,c,*m,x100,i; m=new int *100; for(i=0;in; coutc; coutvi; coutwi; Knapsack(v,w,c,n,m); Traceback(m,w,c,n,x); coutb) return b; else return a; int max(int a,int b) if(ab) return a; else return b; void Knapsack(int *v,int *w,int c,int n,int *m) int i,j; int jMax=min(wn-1,c); for(j=0;j1;i-) jMax=min(wi-1,c); for(j=0;j=w1) m1c=max(m1c,m2c-w1+v1); void Traceback(int *m,int *w,int c,int n,int *x) for(int i=1;i #define inf 10000 #define max 50 void prim(int gmaxmax,int n) int lowcostmax,closestmax; int i,j,k,min; bool smax; s1=true; for(i=2;i=1;i-) for(j=i-1;j=1;j-) gij=gji; printf(“最小生成树为:n“); prim(g,n); 实验效果图: 实验四 用回溯法求解跳马问题 实验代码: /起始位置:0,0 #include using namespace std; int M,N; int map100100; int count=0; /记录马共跳的步数 int countnum=0; /用于统计走法种数 int direction82=1,-2,2,-1,2,1,1,2,-1,2,-2,1,-2,-1,-1,-2;/马可能前进的 8 个方向 int flag=0; void print_map() int t=0; for(int i=0;i=0 M=N; for(int k=0;k #include #include int tile=0; /定义全局变量 tile 表示 L 型骨牌编号 int *chessarr; /定义全局变量 chessarr 表示棋盘数组 void chessboard(int row0,int col0,int size,int sprow,int spcol); / 棋盘覆盖函数 / row0,col0 为棋盘左上角位置,sprow,spcol 为特殊方格位置 / size 为棋盘规模 void chessboard(int row0,int col0,int size,int sprow,int spcol) /棋盘覆盖函数 if(size=1) return; /如果棋盘规模=1,返回 int s=size/2; /分割棋盘 int t=+tile; /L 型骨牌编号加 1 /处理左上角子棋盘 if(sprow = col0+s) chessboard(row0,col0+s,s,sprow,spcol); else chessarrrow0+s-1col0+s=t; chessboard(row0,col0+s,s,row0+s-1,col0+s); /处理左下角子棋盘 if(sprow = row0+s else chessarrrow0+scol0+s=t; chessboard(row0+s,col0+s,s,row0+s,col0+s); void main() int k,x,y; /阶数及特殊点位置 int i,j,n; /棋盘规模为 n*n coutk; coutxy; for (i=0,n=1;i using namespace std; int main() void hanoi(int,char,char,char); int m;cinm;hanoi(m,A,B,C); return 0; void hanoi(int n,char a,char b,char c) void move(int,char,char); if(n=1)mov
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服装水洗工创新意识评优考核试卷含答案
- 机电综合施工组织设计
- 新型配电系统经济高效的电力电子化柔性配电解决方案
- 航空航天模型加工(多工序数控机床操作调工)理论知识考试题
- 模型泛化能力评估方案
- 勾股定理的证明(专项训练)-2024苏科版八年级数学上册(含解析)
- 第二十一章 一元二次方程单元测试-2025-2026学年九年级数学上学期期中期末挑战满分冲刺卷(人教版)(原卷版)
- 贵州国企招聘2025年贵州省粮食发展集团有限公司招聘(第二批次)笔试历年参考题库附带答案详解
- 2025国家电力投资集团有限公司产业审计中心主任选聘2人笔试历年参考题库附带答案详解
- 2025安徽蚌埠市临港建投集团(港城产投集团)及所属公司第二批社会招聘9人笔试历年参考题库附带答案详解
- 图画作文(模考满分范文10篇)-上海新高考英语一轮总复习(解析版)
- 房屋过户子女代签委托书
- 网络安全培训内容课件
- GB/T 6433-2025饲料中粗脂肪的测定
- 《霍乱防治知识培训》课件
- 室内装修施工过程中的安全防护考核试卷
- 音乐学专业大学生职业生涯发展
- 2024年05月北京中国人民银行金融基础数据中心实习招考笔试历年参考题库附带答案详解
- 【MOOC期末】《英美文学里的生态》(北京林业大学)期末中国大学慕课MOOC答案
- 能源管理系统投标技术文件
- 2023年沧州市中心医院选聘笔试真题
评论
0/150
提交评论