收藏 分销(赏)

算法分析作业答案.doc

上传人:w****g 文档编号:4139502 上传时间:2024-07-31 格式:DOC 页数:2 大小:27.51KB 下载积分:5 金币
下载 相关 举报
算法分析作业答案.doc_第1页
第1页 / 共2页
算法分析作业答案.doc_第2页
第2页 / 共2页
本文档共2页,全文阅读请下载到手机保存,查看更方便
资源描述
6.6、设A[1…n]是一个由n个整数组成的数组,x为一整数。给出一个分治算法,找出x在 A中出现的频度,即x在A中出现的次数。你的算法的时间复杂度是什么? 输入:整数数组A[1…n],整数x 输出:x在数组A[1…n]中出现的频度 Frequence(A,1,h,x) 过程 Frequence (A,low,high,x) 1. if high – low = 0 2. if A[low] = x return 1 3. else return 0; 4. end if 5. if high – low > 0 6. mid ← ë( low+high)/2û 7. Return Frequence(A,low,mid,x)+Frequence(A,low+1,high,x) 8. end if T(n)=O(n) 6.16、考虑以下MERGESORT的修改算法。我们将算法应用到输入数组A[1…n]上并不断递 归调用,直到子问题的规模变得相对很小,即m或是小于m。此时转向INSERTSOR, 并将其运用到小的那部分,因此修改算法的第一个检验条件将变为 if (high – low + 1 <= m) then INSERTSORT(A[low...high]) 在修改算法的运行时间仍不变的前提下,用n来表示m的最大值因是多少?为简单起 见,可以假定n是2的幂。 输入:待排序数组A[low,...high] 输出:A[low…high]按非降序排列 MERGESORT(A[low…high]) 过程 MERGESORT(A, low,high) 1.if low<high then 2. if (high – low + 1 <= m) then INSERTSORT(A,low,high) 3. else 4. mid←ë(low+high)/2û 5. MERGESORT(A, low, mid) 6. MERGESORT(A, mid+1, high) 7. MERGE(A, low, mid, high) 8. end if 9. end if M<=2log n +1 6.38、解释当输入已按降序排列时算法QUICKSORT的行为,可以假定输入元素是互不相同 的。 算法QUICKSORT是这样的: 1、设置两个变量start、end,排序开始的时候:start=1,end=N; 2、以第一个数组元素作为关键数据,赋值给pivot,即 pivot=arry[1]; 3、从end开始向前搜索,即由后开始向前搜索(end--),找到第一个小于pivot的值 arry[end],并与arry[start]交换,即swat(arry,start,end); 4、从start开始向后搜索,即由前开始向后搜索(start++),找到第一个大于pivot 的arry[start],与arry[end]交换,即swat(arry,start,end); 5、重复第3、4步,直到 start==end,这个时候arry[start]=arry[end]=pivot, 而pivot的位置就是其在整个数组中正确的位置; 6、通过递归,将问题规模不断分解。将pivot两边分成两个数组继续求新的pivot, 最后解出问题。 但是当输入已按降序排列时,假定输入元素有n个且互不相同。那么第一次执行第5步时,arry[1]和arry[n]交换。然后通过递归,出现arry[2]和arry[n-1]交换arry[3]和arry[n-2]交换.....如果n是偶数,最后一次交换的是arry[n/2]和arry[n/2 +1];如果n是奇数,最后一次交换的是arry[(n-1)/2]和arry[(n+1)/2 ]。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服