算法設计分析.docVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法設计分析

重 庆 交 通 大 学 学 生 实 验 报 告 实验课程名称 算 法 设 计 与 分 析 开课实验室 数学实验室 学 院 年级 专业班 班 学 生 姓 名 学 号 开 课 时 间 2013 至 2014 学年 第 1 学期 假设合理 优 良 中 差 建模求解全面 优 良 中 差 结果分析完善 优 良 中 差 文档清晰 优 良 中 差 综合成绩 教师姓名 实验一 递归与分治策略 实验目的 1.加深学生对分治法算法设计方法的基本思想、基本步骤、基本方法的理解与掌握; 2.提高学生利用课堂所学知识解决实际问题的能力; 3.提高学生综合应用所学知识解决实际问题的能力。 二、实验内容 题目1:三分有哪些信誉好的足球投注网站 题目2:: 2-3 设a[0:n-1]是已排好序的数组。请改写二分有哪些信誉好的足球投注网站算法,使得当有哪些信誉好的足球投注网站元素x不在数组中时,返回小于x的最大元素位置i和大于x的最小元素位置j。当有哪些信誉好的足球投注网站元素在数组中时,i和j相同,均为x在数组中的位置。 实验要求 用分治法求解…问题; 再选择自己熟悉的其它方法求解本问题; 上机实现所设计的所有算法; 实验过程设计(算法设计过程) 题目1:三分有哪些信誉好的足球投注网站算法设计 #includeiostream.h int ternary(int a[],int x,int n) { int i=0; int j=n-1; while(i!=j){ int p=i+(j-i)/3; int q=j-(j-i)/3; if(xa[p]) i=p+1; else if (xa[q]) j=q-1; else {j=p;i=q;} } cout要查找的数的位置为第j+1位endl; return -1; } void main() { cout请输入数组元素个数:endl; int n; cinn; int *a=new int[n]; cout请输入数组a:endl; for(int i=0;in;i++) { cina[i]; } cout要查找的数组:; for(i=0;in;i++) { couta[i] ; } coutendl; int x; cout请输入要查询的数:; cinx; cout查找到的数的位置为:6:; ternary(a,x,n); } 五、实验结果分析 题目1:三分有哪些信誉好的足球投注网站 题目2:2-3 当输入的数组未按升序排列时,查找不到待查询的数字 实验结果分析:每次执行一次算法的while循环,带有哪些信誉好的足球投注网站的数组的大小减少一半。因此在最坏情况下,while循环执行了O(log n),循环体内运算需O(1)时间,整个算法在最坏情况下的计算时间复杂性为O(log n)。 最好情况下,即根节点对应的元素为待有哪些信誉好的足球投注网站的元素,时间复杂度为O(1)。 心得体会 采用二分有哪些信誉好的足球投注网站及三分有哪些信誉好的足球投注网站算法使有哪些信誉好的足球投注网站效率大大提高,以数组排好序为前提,将较大规模的问题分解为了较小规模的问题,且有相同的模型。递归地解决这些子问题,然后将各子问题的解合并得到原问题的思想值得学习,而且可以运用在很多类似的方面。 实验二 动态规划 一、实验目的 1.加深学生对分治法算法设计方法的基本思想、基本步骤、基本方法的理解与掌握; 2.提高学生利用课堂所学知识解决实际问题的能力; 3.提高学生综合应用所学知识解决实际问题的能力。 实验内容 题目1:3-12 给定n种物品和一个背包。物品i的重量为Wi,体积是bi,其价值为vi,背包的容量为C,容积为D。问:应该如何选择装入背包中的物品,使得装入背包中的物品的总价值最大? :题目2:处理机问题 实验过程设计(算法设计过程) 题目1:3-12 #include stdio.h #define Max 100 int min(int a,int b) { if(ab) return a; else return b; } int max(int a,int b) { if(ab) return a; else return b; } void KnapSack(int n,int c,int w[],int p[],int m[][Max]) { int i,j; int jMax=min(w[n-1]-1,c); for(i=0;i=jMax;i++) m

文档评论(0)

df9v4fzI + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档