- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法设计与分析试验报告
学生学号 0121010680524 实验课成绩
武汉理工大学
学 生 实 验 报 告 书
实验课程名称 《算法设计与分析》
开 课 学 院 计算机科学与技术学院
指导老师姓名 何 九 周
学 生 姓 名 王 鹏
学生专业班级 软件 1004
2012 — 2013 学年 第 1 学期
实验课程名称: 算法设计与分析
实验项目名称 分治法应用及设计 实验成绩 实验者 王鹏 专业班级 软件1004 组别 同组者 实验日期 年 月 日 第一部分:实验分析与设计(可加页)
实验内容描述(问题域描述)
实验描述:
利用分治法,解决检索和排序中的两个问题,在计算机上实现,同时进行时间复杂性分析。本实验是综合型、设计型实验,在实验中需要综合运用《数据结构》中的递归方法和树的知识;《程序设计》中的数组、条件控制、循环控制和《算法设计与分析》中的分治法、计算时间的渐进表示和算法的时间复杂性分析等等方面的知识。
实验内容:
利用分治法,写一个二分检索的递归算法,并利用任何一种语言,在计算机上实现,同时进行时间复杂性分析。
用分治法,实现对n个元素进行排序的算法,并进行时间复杂性分析。
实验要求:
首先要对实验内容进行描述,用伪代码设计算法,并对算法在最好,最差和平均情况下的时间复杂性进行分析,然后C/C++或JAVA语言编写程序#include stdio.h //比较x和y
int compare(int x,int y)
{
if( x y ) return -1;
else if ( x == y) return 0;
else return 1;
}//二分查找(折半查找)的递归(迭代)算法,返回查找到的值在数组中的位置下标
int BinSearch(int list[],int searchnum,int Left,int Right)
{
int middle;
if(Left = Right){
middle = (Left + Right)/2;
printf(middle = %d\n,middle);
switch(compare(list[middle],searchnum)){
case -1:
return BinSearch(list,searchnum,middle + 1,Right);
case 0:
return middle;
case 1:
return BinSearch(list,searchnum,Left,middle - 1);
}
}
}
void main()
{
int list[10] = {1,2,3,4,5,6,7,8,9,10};
int searchnum = 5;
int Left = 0;
int Right = 9;
int num = BinSearch(list,searchnum,Left,Right);
printf(返回%d\n,num);
}
实验二代码:
#include iostream
#include cstdlib
using namespace std;
int merge(int c[],int d[],int l,int m,int r){
int i=l,j=m+1,k=l,q;
while(i=mj=r){
if(c[i]=c[j])
d[k++]=c[i++];
else
d[k++]=c[j++];
}
if(im)
for(q=j;q=r;q++)
d[k++]=c[q];
if(jr)
for(q=i;q=m;q++)
d[k++]=c[q];
return 0;
}
int mergePass(int x[],int y[],int s,int n){
int i=0,j;
while(i=n-2*s){//合并大小为S的相邻子段
merge(x,y,i,i+s-1,i+2*s-1);
i+=2*s;
}//剩下的元素个数少于2s
if(i+sn)
merge(x,y,i,i+s-1,n-1);
else
for(j=i;j=n-1;j++)
y[j]=x[j];
return 0;
}//合并数组
int mergeSort(int a[],int n){
int s=1;
int *b=new int[n];//int *b=(int *)malloc(n*sizeof(int));//动态的给b分配n个int类型空间
while(sn){
mergePass(a,b,s
您可能关注的文档
- Matlab简单运用.doc
- 降水分部开工报告.doc
- 勾股逆定理A002.doc
- 2010年二级建造师建设工程法规考题精解10.doc
- 数学能力专项训练(最.doc
- 新概念第一册review.ppt
- 黄金投资已经成为主流理财产品.doc
- 冬施安全技术交底.doc
- 第五周C2C实训.doc
- 鸡西市中考满分作文-浅谈小学科学教学评价的开展.doc
- 高中生基于大数据分析揭示文艺复兴时期知识创新扩散规律课题报告教学研究课题报告.docx
- 中学地理教学中GIS技术的应用与教学设计课题报告教学研究课题报告.docx
- 高中语文古诗文教学中文化传承与审美教育的融合研究课题报告教学研究课题报告.docx
- 高中地理气候变化影响模拟实验课题报告教学研究课题报告.docx
- 数字化教学管理流程再造与高校教学质量保障体系研究教学研究课题报告.docx
- 初中生物教学中生态缸构建与数据分析课题报告教学研究课题报告.docx
- 初中地理地图绘制技能训练效果评估课题报告教学研究课题报告.docx
- 小学数学课堂中游戏化教学策略的创新研究课题报告教学研究课题报告.docx
- 初中历史教学中史料实证情境化教学方法的创新研究课题报告教学研究课题报告.docx
- 高中化学有机合成路线优化与绿色化学理念渗透课题报告教学研究课题报告.docx
最近下载
- 电气工程施工方案范本(3篇).docx
- 广东省中山一中等六校2025届高三下学期联合考试化学试题含解析.doc VIP
- 广东省中山一中等六校2024届高三压轴卷化学试卷含解析.doc VIP
- “结构主义·转型为鉴”系列之日本篇:转型得与失.pdf VIP
- 综合布线系统双绞线工程检测原始记录表.doc VIP
- SY0031-2012石油工业用加热炉安全规程.docx VIP
- 交直流电力系统的分析和控制.pdf VIP
- 初中英语必背单词2000个(按词性分类带音标).docx
- 统编版五年级下册语文全册教案【三】-统编版五年级下册语文教案-已转换.docx VIP
- 装修监理规划范本样本.doc VIP
原创力文档


文档评论(0)