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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(算法实验 八皇后问题.docx)为本站会员(tkhy51908)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

算法实验 八皇后问题.docx

1、姓名:+ 学号:090610213 班级:0904103实验题目: 八皇后问题问题分析:要在 8*8 的国际象棋棋盘中放 8 个皇后,是任意两个皇后都不能互相吃掉。规则:皇后能吃掉同一行、同一列、同一对角线的任意棋子。解决问题的关键为怎样取到 8 个位置,判断他们符合要求。数学模型: 每一行中只能取到一个位置,这样问题的解空间就是 8 个皇后所在的列的序号。1)通过 8 重循环从每一行中取得一个位置,检验取到的检验 8个位置不在同一列、同一对角线。2)按深度优先的思想,从第一个皇后开始搜索,确定一个位置后,在搜索第二个皇后的位置;每前进一步检查是否满足约束条件,不满足时,用 continue

2、语句回溯到上一个皇后,继续尝试下一位置;满足约束条件时,开始搜索下一位置,知道找到问题解。约束条件:不在同一列的表达式 xi!=xj不在同一对角线上的约束条件 abs(xi-xj)!=abs(i-j)算法策略的选择: 蛮力枚举法 枚举回溯法程序流程图:算法的时间复杂度的分析:1)采用 8 重循环 时间复杂度为 8程序实现:1)void CEightqueDlg:OnButton1() /取自不同行的位置 count=0;for(que0=0;que0SetWindowText(out); count+; 2)void CEight2Dlg:OnCancel() int a8; int coun

3、t=0 CString aa,bb; aa=bb=“;for(a0=0;a0tempj)tempj=fj-i+qi; akj=i; for(j=0;j=0;i-) gaini=airest; rest=rest-gaini; CString result,aa;aa.Format(“%d“,gain0);result+=“A 厂分配“+aa+“台“;aa.Format(“%d“,gain1);result+=“B 厂分配“+aa+“台“;aa.Format(“%d“,gain2);result+=“C 厂分配“+aa+“台“;aa.Format(“%d“,f5);result+=“总利润是:“

4、+aa;MessageBox(result);结果:总结:实验题目:矩阵连乘问题分析:不同顺序的矩阵相乘运算,虽然运算结果相同,但所作的乘法次数差距很大。找到不同的组合方式下矩阵相乘的最少乘法次数,并用所得到的矩阵相乘的顺序计算矩阵相乘的结果。数学模型:动态规划的阶段是以相乘的矩阵的个数划分的;出事状态为一个矩阵相乘的计算量;第二阶段为两个矩阵相乘最后一个阶段,是 n 个矩阵相乘的情况。com记录矩阵相乘的结合方式;m记录乘法次数算法策略的选择:动态规划流程图:算法的时间复杂度:程序实现:void CMatrixDlg:OnButton1() /寻找乘机数最少的乘法int n,i,j; /n

5、为矩阵的个数CString cou,s1,s2,std;GetPrivateProfileString(“count“,“count“,“,cou.GetBuffer(MAX_PATH),MAX_PATH,“.Matrix.ini“);n=atoi(cou); /获取矩阵的个数for(i=0;i=0) return mij;if(i=j) return 0;if(i=j-1) comii+1=i; mij=ri*ri+1*ri+2; return mij; u=course(i,i)+course(i+1,j)+ri*ri+1*rj+1; comij=i;for(k=i+1;kj;k+) t=

6、course(i,k)+course(k+1,j)+ri*rk+1*rj+1;if(tu) u=t;comij=k; mij=u; return u;void CMatrixDlg:OnButton2() /实现量矩阵相乘CString cou; int c;GetPrivateProfileString(“count“,“count“,“,cou.GetBuffer(MAX_PATH),MAX_PATH,“.Matrix.ini“);c=atoi(cou); /获取矩阵的个数int W400,len,m,n,p,k=0; CString str,std,s1,s2,s3,buffer=“;f

7、or(int i=0;ic;i+)std.Format(“%d“,i);GetPrivateProfileString(std,“size1“,“,s1.GetBuffer(MAX_PATH),MAX_PATH,“.Matrix.ini“);GetPrivateProfileString(std,“size2“,“,s2.GetBuffer(MAX_PATH),MAX_PATH,“.Matrix.ini“);GetPrivateProfileString(std,“Mat“,“,str.GetBuffer(MAX_PATH),MAX_PATH,“.Matrix.ini“);str.Releas

8、eBuffer();len=str.GetLength();m=atoi(s1); n=atoi(s2);for(int j=0;jlen;j+) if(strj!=,) buffer+=strj;else Wk=atoi(buffer); buffer=“; k+; for(int t1=0;t1m;t1+)for(int t2=0;t2n;t2+)Mi.at1t2=Wn*t1+t2;Mi.s1=m; Mi.s2=n; JiSuan(0,c-1);CString result,aa,bb;for(int t1=0;t1M0.s1;t1+)for(int t2=0;t2M0.s2;t2+)bb

9、.Format(“%d“,M0.at1t2); aa+=bb+“ “; m_list.InsertString(t1,aa); aa=“;int CMatrixDlg:JiSuan(int a, int b) if(a=b-1) Double(a,b);else if(a=b) else JiSuan(a,comab); JiSuan(comab+1,b); Double(a,comab+1); return 1;void CMatrixDlg:Double(int a, int b) int buf2020;for(int t1=0;t120;t1+)for(int t2=0;t220;t2+) buft1t2=0;for(int i=0;iMa.s1;i+)for(int j=0;jMb.s2;j+)for(int k=0;kMa.s2;k+)bufij+=Ma.aik*Mb.akj;for(int t3=0;t3Ma.s1;t3+)for(int t4=0;t4Mb.s2;t4+)Ma.at3t4=buft3t4; Ma.s2=Mb.s2;结果:结论:

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报