ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:254.31KB ,
资源ID:19174980      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19174980.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(算法设计与分析大作业报告Word文件下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

算法设计与分析大作业报告Word文件下载.docx

1、 while(pm|q=y|(pm&datapdataq) tempi+ = datap+; else tempi+ = dataq+; for(i=x;iy;i+) datai = tempi; void HoareSort(int *data,int x,int y) int p=x,q=y-1,temp; while(pp&dataq=datap) q-; if (qp) temp = datap,datap = dataq,dataq =temp; p+; while(q=dataq) if (pusing namespace std;void Path(int n, int W, i

2、nt c100, int *v, int *wei) memset(*c, 0, (W+1)*sizeof(int); for (int i = 1; i = n; i+) ci0 = 0; for (int w = 1; w w) ciw = ci-1w; int temp = ci-1w-weii-1 + vi-1; if (ci-1w temp) ciw = ci-1w; else ciw = temp; void find(int c100, int *x, int *wei, int n, int W) int w = W; for (int i = n; i = 2; i-) if

3、 (ciw = ci-1w) xi-1 = 0; else xi-1 = 1; w = w - weii-1; if (c1w = 0) x0 = 0; else x0 = 1; int n = 5; int W = 100; int w = 10,48,35,23,25,30; int v = 40,10,20,30,50; int c6100 = 0; Path(n, W, c, v, w); cout最优的总价值为:;c6100endl; int x5; find(c, x, w, n, W);用0表示不装入,1表示装入,情况如下: n+1; cout第件物品的装入状态为:xi 上述代码

4、的时间复杂度为O(nw)。能表示出装入或者不装入但计算出装入后的总价值有点问题,程序还不够完善有待改进。动态规划问题的的实质就是寻求一个最优解的过程, 实质就是为问题寻求一个 最优算法,这个最优算法解出来的值是运用所有算法中最接近实际值的解。 一般对一个问题,不会运用多种算法,而只会选取其中的一种来求解(但实际 问题中常常需要不同算法的结合,不过一般是处理不同方面的算法) 不同的算法对待不同的问题总是有利有弊。贪心法大作业报告 给定n种物品和一个背包.物品i的重量是Wi,其价值为Vi,背包的容量为C。在选择物品i装入背包时,可以选择物品i的一部分,1= i struct goodinfo fl

5、oat p; float w; float X; int flag;void Insertionsort(goodinfo goods,int n) int j,i; for(j=2;jgoodsi.p) goodsi+1=goodsi; i-; goodsi+1=goods0;void bag(goodinfo goods,float M,int n) float cu; int i,j; for(i=1; goodsi.X=0; cu=M;n; if(goodsi.wcu) break; goodsi.X=1; cu=cu-goodsi.w; if(i=n) goodsi.X=cu/goo

6、dsi.w; while (goods0.flaggoodsi.flag)最优解为: cout件物品要放:goodsi.X goods=new struct goodinfo n+1;请输入背包的最大容量:M; int i; for(i=1; goodsi.flag=i;请输入第件物品的重量:goodsi.w;件物品的效益:goodsi.p; goodsi.p=goodsi.p/goodsi.w; Insertionsort(goods,n); bag(goods,M,n);请问您还要继续运行此程序吗?请用Y或者N回答。j; if(j=N)程序较完整,算法复杂度为O(N*N)。但有一点点小小的

7、不足并没有算出物品装入后的重量,也没有展示最优解的价值为多少。回溯法大作业报告 在nn格的棋盘上放置彼此不受攻击的n个皇后按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。要求在nn格的棋盘上放置n个皇后,任何2个皇后不放在同一行或同一列或同一斜线上。回溯法基本思想:从一条路往前走,能进则进,不能进则退回来,换一条路再试。当我们遇到某一类问题时,它的问题可以分解,但是又不能得出明确的动态规划或是递归解法,此时可以考虑用回溯法解决此类问题。回溯法的优点在于其程序结构明确,可读性强,易于理解,而且通过对问题的分析可以大大提高运行效率。但是,对于可以得出明显的递推公式迭代求解

8、的问题,还是不要用回溯法,因为它花费的时间比较长。解向量:(x1, x2, , xn)显约束:xi = 1,2, ,n隐约束: 1)不同列:xi != xj 2)不处于同一正、反对角线:|i-j| != |x(i)-x(j)|解空间:满N叉树vectorclass queen struct q_place int x; int y; q_place () : x(0),y(0) ;public: queen(int qc) q_count (qc), sum_solution (0) curr_solution.resize (q_count); void backtrack () _back

9、track (0);private: void _backtrack (int t) if (t = q_count) + sum_solution ; for (size_t i = 0;i curr_solution.size(); + i) cout x = curr_solutioni.x y = curr_solutioni.y endl;解决方案有 sum_solution 个 else for (int i = 0; q_count; curr_solutiont.x = i; curr_solutiont.y = t; if (_place(t) _backtrack (t +

10、 1); bool _place (int k) k; if (abs(curr_solutioni.x - curr_solutionk.x) = abs(curr_solutioni.y - curr_solutionk.y) | curr_solutioni.x = curr_solutionk.x) return false; return true; vector curr_solution; const int q_count; int sum_solution;int main() int i;请输入皇后的个数: cini; queen q(i);各个皇后在不同位置时,对应的解决方案个数如下: q.backtrack ();n后问题主要在于可行解,一个一个的试,(t)能走通就往(t+1)下走,走不通就倒回去(t-1)换条走,再不行再回走。就要不停的尝试,不停的回溯,直到找全可行解,或者一个也没有就停止。还有重要的事约束条件,两个皇后不能在同行同列或者斜线上。这题需要理解程序设计的顺序结构基本思想,掌握顺序结构语句特点。并且学会用算法分析问题,能够使用顺序结构编写简单的程序解决具体问题。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1