算法设计与分析实验报告武汉理工.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法设计与分析实验报告武汉理工   算法分析与设计实验报告学生姓名:系别:专业与班号:学号:实验名称:Strassen’s矩阵乘法和最近点对算法实验目的   1、理解“分治法”算法设计思想及其实现步骤   2、掌握分治算法效率递归分析方法   3、掌握主方式求解递归式方法   实验内容及要求   1、利用计算机程序设计语言,实现教材第章介绍的“Strassen’s矩阵乘法算法”,自主生成两个8×8的矩阵,检验算法的正确性并输出算法结果。   2、比较Strassen’s矩阵乘法算法和数学定义的矩阵乘法算法效率之间的区别,并用直观的表达方式把两种不同矩阵乘法的效率随矩阵维数的变化趋势。   3、利用计算机程序设计语言,实现教材第章介绍的“最近点对算法”,在拟定的二维空间点集上检验算法的正确性并输出算法结果。   实验原理   1.Strassen’s矩阵乘法简介   Strassen’s算法是将矩阵分成了如图所示的均等的四块。分后的每一块儿任然还是方阵。   所以可以由大问题分解成若干子问题进行解决。为了能使子问题能够返回到原始问题。   Strassen‘s算法提出了如下的计算公   式,可以用矩阵的子矩阵计算出S1-S7,然后又由S1-S7合成原始矩阵。而S1-S7的计算又是方阵的乘法。由此使用分治算法便可以解决问题。   2.最近点对问题(ClosestPairProblems)算法简介   首先这个问题也是采用了分治的思想,将空间内的距离分成三类,分界线左边的点之间的距离,分界线右边的点之间的距离,还有分界线两边距离为D的区域内的两点间距离。   算法具体代码   1.矩阵相乘问题   //:定义控制台应用程序的入口点。   //   //********************************************************************************#include   #include   #defineAMCopy(A,0,0,/2)   #defineBMCopy(A,/2,0,/2)   #defineCMCopy(A,0,/2,/2)   #defineDMCopy(A,/2,/2,/2)   #defineEMCopy(B,0,0,/2)   #defineFMCopy(B,/2,0,/2)   #defineGMCopy(B,0,/2,/2)   #defineHMCopy(B,/2,/2,/2)   #defineV2   //********************************************************************************//矩阵结构   typedefstructmatrix   {   //********************************************************************************//输入输出文件   FILE*fout;   FILE*fin;   //********************************************************************************//矩阵打印   voidfPrint(MatrixA)   {   for(intj=0;j **********************************************************//矩阵打印   voidPrint(MatrixA)   {   }   //********************************************************************************//矩阵截取   MatrixCopy(MatrixX,intx,inty,intv)   {   }   //********************************************************************************//矩阵相减   MatrixMinus(MatrixA,MatrixB)   {   Matrixtemp;=;Matrixtemp;=v;for(inti=x;i   #include   usingnamespacestd;   intmerge(intc[],intd[],intl,intm,intr){   inti=l,j=m+1,k=l,q;   while(im)   for(q=j;qr)   for(q=i;q=m;q++)   d[k++]=c[q];   return0;   }

文档评论(0)

sanshengyuan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档