算法设计实验模版_第1页
算法设计实验模版_第2页
算法设计实验模版_第3页
算法设计实验模版_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

海南师范大学《算法分析与设计》实验报告实验名称:主元素问题姓 名1:王添左学 号1:201424010237姓 名2:杨雪峰学 号2:201424010247专 业:计算机班 级:14计算机本科非师范班时 间:算法设计与分析实验报告实验名称:主元素问题1实验内容给你一个包含有N个整数的集合,如果从集合中找到三个不同的整数a,b,c,使得a+b=c,计算集合中所包含的等式数量2实验环境数据输入外键盘输入一组n长度的数据,依次输入各数据的值.数据输出将比较的结果输出,输出主元素是谁,重数是多少.若没有,则输出无主元素.编程环境操作系统:winlO;编程环境:C++;3算法设计算法分析:要解决主元素问题,就要考虑第一次用第一个元素能得到的重复次数,如果出现了重复的次数,则记下,也就是用一维数组存入数据,将a[0]先与a[1]相比较,看看是否相等,若相等,计数器k加一。最后对于每一个元素都采用一样的方法,最后得到每一个数字出现重复的次数,然后取其中出现次数最大的重复数S,最后用IF语句看看是否有S>2/N,若是,则输出,反之,输出没有算法流程:for(i=0;i<n;i++)For(j=i+1;j<n;j++){ If(a[i]==a[j])K++;(s=k;t=i;}k=0}设计内容:无.4程序说明算法较为简单,采用的是循环语句加if语句的格式,中间没有引用其他的类,函数.用for语句进行数据的输入与比较For(i=0;ivn;i++)For(j=i+l;j<n;j++)( If即]==a[j])K++;;if语句进行限制比较与计数,对满足if的内容,进行标记If(s<k)(s=k;t=i;}.最后输出结果.5算法复杂性分析For(i=0;ivn;i++)For(j=i+l;j<n;j++){ If(a[i]==a[j])K++;If(s<k)(s=k;t=i;}k=0}for循环总共两次,所以复杂度为(n+n-1+n-2+...+1)%(rT2)/物为时间复杂度是不考虑系数的,所以是0(nA2)6实验结果a)输入参数b)输出结果7实验总结总结分析:该次的实验结果基本满足于实验要求,时间复杂度也很中肯,设计思路较为平常,没有什么创新点,但是易于理解,算法思路也很清晰,没有让人疑惑的地方。总之,是个还算及格的算法。关键算法体会:最初,对于如何标记重复次数以及重复次数的元素并输出这块遇到了困难,当时没有想到用另一个变量和IF语句结合来标记,这就造成了虽然知道了重复次数却找不到对应的重复元素的后果。用另

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论