云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 算法设计与分析 - 总结0

算法设计与分析 - 总结0

  • 62 次阅读
  • 3 次下载
  • 2025/6/15 11:28:44

20. {

21. j=0; 22. o=0;

23. m=fabs(i-1);

24. s1=newint *[fabs(i)]; 25. while(o

27. q=p=s[o];

28. for(k=i-1;k>=0;k--)

29. { 30. s1[j]=newint[i]; 31. for(l=0;l

33. if(l==k){s1[j][l]=i;} 34. else{

35. s1[j][l]=*p; 36. p++;} 37. } 38. j++; 39. p=q; 40. } 41. o++; 42. delete[] q; 43. }

44. delete[]s; 45. s=s1; 46. } 47. }

3-8对于一个平面上n个点的集合S,设计蛮力算法求集合S的凸包的一个极点。 点集合中最左边或者最右边的点一定是凸包的一个极点,则求凸包的极点的问题转化为求点的x坐标最大或最小的点

1. int getPole(int x[],int y[],int n) 2. {

3. int r=0;

4. for(inti=0;i

6. if(x[i]>x[r])r=i; 7. }

8. return r;

3-11 设计算法生成在n个元素中包含k个元素的所有组合对象。

两种思路:

1、 生成所有的组合,在组合中找元素个数为k个的组合。 伪代码:

1.初始化一个长度为n的比特串s=00…0并将对应的子集输出; 2.for(i=1; i<2n; i++) //注意不能书写成i<=2n 2.1 s++;

2.2 判断s中1的个数,若为k,则将s对应的子集输出;

2、 使用k层嵌套循环生成元素个数为k个的组合。 设k=3;n个元素存储在数组a[]中; 伪代码:

for (i=1; i

输出a[i]a[j]a[k]构成的组合。

3-13美国有个连锁店叫7-11这个连锁店以前是每天7点开门,晚上11点关门 不过现在是全天24小时营业。有一天,有个人来到这个连锁店,买了4件商品

营业员拿起计算器敲了一下,说:总共是$7.11顾客开玩笑说:所以你们商店就叫7-11?营业员没有理她,说:当然不是,我是把它们的价格相乘之后得到的。

顾客说:相乘?你应该把他相加才对。营业员说,我弄错了。接着又算了一遍,结果让两个人吃惊的是:计算结果也是$7.11请问,这4件商品的价格是多少? 参考代码:

1. #include 2. #include 3. int main() 4. {

5. long i,j,k,m; 6.

7. for (i=1; i <=711/4 ; i++) 8. {

9. for (j=i; j <=711/3 ; j++) 10. {

11. for (k=j; k <=711/2 ; k++) 12. {

13. m=711-i-j-k;

14. if (i*j*k*m==711*1000000) 15. {

16. cout<

21. return 0; 22. }

输出结果为:价格分别是1.2 1.25 1.5 3.16

第4章 分治法

了解分治法的设计思想

设计思想:将要求解的原问题划分成k个较小规模的子问题,对这k个子问题分别求解。如果子问题的规模仍然不够小,则再将每个子问题划分为k个规模更小的子问题,如此分解下去,直到问题规模足够小,很容易求出其解为止,再将子问题的解合并为一个更大规模的问题的解,自底向上逐步求出原问题的解。 步骤:(1)划分(2)求解子问题(3)合并

分治法的代表算法及时间复杂度:

归并排序,快速排序,最大子段和,最近对问题,凸包问题,这五种问题的分治算法的时间复杂度为O(nlog2n)

棋盘覆盖,循环赛日程安排为O(4k)

掌握归并排序和快速排序算法的算法伪代码。(P78-83) 归并排序:

算法中数组r中存储原始数据,r1在中间过程中存储排序后的数据,s指需排序数组的起始下标,t指需排序数组的结束下标。最终排序后的数据依然存储在r数组中。

快速排序:

搜索更多关于: 算法设计与分析 - 总结0 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

20. { 21. j=0; 22. o=0; 23. m=fabs(i-1); 24. s1=newint *[fabs(i)]; 25. while(o=0;k--) 29.

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com