算法设计第4章分治法
11页1、/*题目描述:设计分治算法求一个数组中的最大元素。*/*思路:要用分治法来解决数组中的最大了元素,我们可以采用递归的思想,两两比较用小标的变化来标志出存储最大的元素。*/*算法:1.首先输入数组的个数2.用rand()随机产生数组3.调用递归函数3.1 递归函数找到最大元素的下标4.输出最大元素*/#include using namespace std;int Max(int a, int low, int high);int main() int a1000, m,n;coutn;for(int i = 0;i n;i+) ai = rand() %100; for(int j = 0;j n;j+) coutaj ;coutendl;m = Max(a, 0, n-1); coutamamax2?max1: max2; return max; /*题目描述:设计分治算法,实现将数组An中所有的元素循环左移k个位置,要求时间复杂度为,空间复杂度为,例如,对abcdefgh循环左移3位得到defghabc.*/*思路:将数组元素左移n块,则将数组分成几块,然后将每一块进行编号,然后进
2、行移动,序号相同的,前一段序号的那个数移到后一段序号的那个数即可。*/*算法:1.实现相邻两端相同编号的数进行移动2.k个函数调用实现每个序号的书都进行移动3.输出数组 */#include using namespace std;void Converse(char *A,int n,int k) ;void Reverse(char *A, int from, int to);int main()char A100;int k;cout请输入数组:A;cout请输入左移的位数k:k;Converse(A,strlen(A),k);return 0;void Reverse(char *A, int from, int to)for(int i=0;i(to-from+1)/2;i+)char temp=Afrom+i;Afrom+i=Ato-i;Ato-i=temp;void Converse(char *A,int n,int k) Reverse(A, 0, k-1);Reverse(A, k, n-1);Reverse(A, 0, n-1);cout移动后的数组为:endl;
3、for(int i=0;in;i+)coutAi;coutendl;/*题目描述:在有序序列(r1,r2,r3rn)中,存在序号i(1=i i则我们就直接在数组的左边找;否则就在右边找。2.3.找到目标输出;*/#includeusing namespace std;void f(int a,int n);int main ()int a1001;int i,n;coutn;for(i = 0;i ai;f(a,n);return 0;void f(int a,int n)int left = 0,right = n - 1,mid;while(left right)mid = (left + right) / 2;if(amid = mid)cout这个元素是:amid mid)right = mid;elseleft = mid;/*题目描述:在一个序列中出现次数最多的元素称为众数,请设计算法寻找众数并分析算法的时间复杂性;*/*思路:题目要求是要用分治法,那我们就只有在排序上用分治法,将数组用快速排序,之后再遍历一次数组我们就可以找到众数。此时算法的时间复杂性为nlog(n);*
《算法设计第4章分治法》由会员re****.1分享,可在线阅读,更多相关《算法设计第4章分治法》请在金锄头文库上搜索。
学院学风建设主题活动方案.docx
2023年公司消防应急预案演练总结报告范文.doc
2023年就业促进中心工作情况总结.docx
小学校长学年度工作述职报告
抗击疫情一些感人故事作文素材5则.doc
建筑渣土安全运输管理制度标准版本(4篇)
一年级unit7试卷.doc
架空电缆项目资金申请报告写作模板
股权质押借款协议(10篇).doc
会计实习心得体会13篇.doc
八单元单元导读.doc
团体保险中的询问与告知.docx
【精选】高二数学北师大版选修21同步精练:2.4用向量讨论垂直与平行 Word版含答案
(完整版)固定资产管理表格大全.doc
实用寒假学习计划3篇
2022年下半年小学开学典礼活动方案
人教版三年级上册《道德与法治》期末试卷(一套).doc
幼儿园小班语言活动教案《-开小船》.doc
玻璃熔窑火焰换向优化技术
人教版五年级语文上册期中考试题一.doc
2023-04-20 6页
2023-12-14 18页
2022-08-15 2页
2024-02-19 115页
2024-02-19 1页
2023-10-14 3页
2023-01-20 2页
2023-04-05 7页
2023-01-12 2页
2022-12-19 9页