版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上 应用数学 学院 信息安全 专业 班 学号 姓名 实验题目 递归与分治法 综合实验评分表指导教师评分标准序号评分项目评分标准满分打分1完成度按要求独立完成实验准备、程序调试、实验报告撰写。202实验内容(1) 完成功能需求分析、存储结构设计;(2) 程序功能完善、可正常运行;(3) 测试数据正确,分析正确,结论正确。303实验报告内容齐全,符合要求,文理通顺,排版美观。404总结对实验过程遇到的问题能初步独立分析,解决后能总结问题原因及解决方法,有心得体会。10实验报告一、 实验目的与要求1. 掌握递归算法的设计思想 2. 掌握分治法设计算法的一般过程 3. 理解并掌
2、握算法渐近时间复杂度的分析方法二、 实验内容1、折半查找的递归算法(1)源程序代码#include <StdAfx.h>#include <iostream>using namespace std;int bin_search(int key,int low, int high,int k) int mid; if(low>high) return -1; else mid = (low+high) / 2; if(keymid=k) return mid; if(k>keymid) return bin_search(key,mid+1,high,k);
3、else return bin_search(key,low,mid-1,k); int main() int n , i , addr; int A10 = 2,3,5,7,8,10,12,15,19,21; cout << "在下面的10个整数中进行查找" << endl;for(i=0;i<10;i+) cout << Ai << " " ; cout << endl << endl << "请输入一个要查找的整数" << en
4、dl;cin >> n; addr = bin_search(A,0,9,n); if(-1 != addr) cout << endl << n << "是上述整数中的第" << addr << "个数" << endl;else cout << endl << n << "不在上述的整数中" << endl << endl; getchar();return 0;(2)运行界面查找成功查找
5、失败2、用分治法求x的n次方,要求时间复杂度为O(lgn)(1)源程序代码#include <StdAfx.h>#include <iostream>using namespace std;int Pow(int x, int n) if (n = 1) return x; else if (n > 1) int s; int m = n / 2; s = Pow (x, m); if (n % 2 = 0) return (s * s); else return (s * s * x); int main() int x, n; cout << &q
6、uot;你将进行x的n次方计算" << endl << endl;cout << "请输入x:" << endl;cin >> x;cout << "请输入n:" << endl;cin >> n; cout << endl << "计算结果:" << Pow(x, n) << endl << endl; return 0;(2)运行界面3、自然合并排序算法(1)源程序代
7、码#include "StdAfx.h"#include <iostream>using namespace std;const int SIZE = 100;int arrSIZE;int recSIZE;void merge(int fir,int end,int mid);int pass(int n);void mergeSort(int n);void mergeSort(int n) int num=pass(n); while(num!=2) for(int i=0;i<num;i+=2) merge(reci,reci+2-1,reci+1
8、-1); num=pass(n); void merge(int fir,int end,int mid) int tempArrSIZE; int fir1=fir,fir2=mid+1; for(int i=fir;i<=end;i+) if(fir1>mid) tempArri=arrfir2+; else if(fir2>end) tempArri=arrfir1+; else if(arrfir1>arrfir2) tempArri=arrfir2+; else tempArri=arrfir1+; for(int i=fir;i<=end;i+) ar
9、ri=tempArri;int pass(int n) int num=0; int biger=arr0; recnum+=0; for(int i=1;i<n;i+) if(arri>=biger)biger=arri; else recnum+=i; biger=arri; recnum+=n; return num;int main() int n;cout<<"请输入需要排序的整数个数:"<<endl; while(cin>>n) for(int i=0;i<n;i+)cout<<"请输入
10、整数:"<<endl;cin>>arri; mergeSort(n); cout<<"排序结果为:"<<endl;for(int i=0;i<n;i+)cout<<arri<<" " cout<<endl<<endl; cout<<"请输入需要排序的整数个数:"<<endl; return 0;(2)运行界面三、问题与讨论问题:分治法能解决的问题一般具有什么特征?解答:任何一个可以用计算机求解的问题所
11、需的计算时间都与其规模有关。问题的规模越小越容易直接求解,解题所需的计算时间也越少。分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。分治法所能解决的问题一般具有以下几个特征: (1)该问题的规模缩小到一定的程度就可以容易地解决; (2)该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质; (3)利用该问题分解出的子问题的解可以合并为该问题的解; (4)该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。四、总结这次实验的内容都很有代表性,通过上机操作实践与对问题的思考,让我更深层地领悟到了分治法的效率。
12、分治法的基本思路并不难理解,就是将一个难以直接解决的大问题,分割成一些规模较小的相同问题,在计算机的处理当中,问题的规模越小就越容易直接求解,解题所需的计算时间也越少,所以分治法在合适的问题中是能大大提高效率的。我非常喜欢上机课,因为课上听的理论内容也许觉得懂了,但课后没有一些实践,于是对一些难点实际上掌握得并不好。刚看到课题的实验内容,其实基本思路和条理还是会有的,因为会有一定的知识基础,能够想到一些相关的解决思路,但有思路不一定就能够解决问题,真正动手去做的时候才发现会出现更多的实际问题。解决遇到的问题就是我们学习的过程,同时也能让我注意到一些以前不曾在意的问题。像我是使用C+来写代码的,其中我这次实验时我就发现,“#include “StdAfx.h”一定要放在首行,不然就会出错;调试程序时如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 土建承包商季度检查用表
- 项目人员工资申请表
- 胃炎护理中的综合康复计划
- 2026年黑龙江省伊春市高考冲刺语文模拟试题含解析
- 26年老年人群生理隐患科普
- 【1】 大青树下的小学公开课一等奖创新教案
- 【卫生专业技术资格考试中医妇科学(中级331)专业知识巩固要点精析】
- 医学26年:妊娠合并OSAHS管理 查房课件
- 26年老年疑问解答步骤课件
- 26年医养结合合规运营指引课件
- 期中考试分析会上校长不晒分数不排名只跟老师算三笔账句句戳中教师心
- 14.1《法治与改革相互促进》教案 2025-2026学年统编版道德与法治八年级下册
- 武胜县2026年公开招聘社区工作者(62人)笔试参考题库及答案解析
- 2026及未来5-10年改性PPS工程塑料项目投资价值市场数据分析报告
- 2026年企业主要负责人和安全管理人员安全培训题库及答案
- 2026年上海市虹口区社区工作者招聘考试备考试题及答案解析
- 外立面装饰装修子单位工程监理质量监控措施
- 体重管理门诊工作制度
- 2026婴幼儿发展引导员3级理论易错题练习试卷及答案
- 老年人常见疼痛类型
- 幼儿资助校长责任制度
评论
0/150
提交评论