专题 排序和查找.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
专题 排序和查找

专题 排序和查找;已经学过的排序算法(7种);已经学过的查找方法(5种);主要内容;归并排序;简单分治排序;平衡划分——归并排序;思想 对于一个需要排序的数组A[0…n-1],把它一分为二: A[0…n/2-1]和A[n/2…n-1],并对每个子数组递归排序 然后把这两个排好序的子数组合并为一个有序数组;//Mergesort if n1 copy A[0…n/2-1] to B[0…n/2-1] copy A[n/2…n-1] to C[0…n/2-1] Mergesort(B[0…n/2-1]) Mergesort(C[0…n/2-1]) Merge(B,C,A);思想 对两个有序数组的合并 初始状态下,关注两个待合并数组的第一个元素 然后比较这两个元素的大小,将较小的元素添加到一个新创建的数组中 接着被复制数组中的下标后移,指向该较小元素的后继元素 上述操作一直持续到两个数组中的一个被处理完为止 然后在未处理完的数组中,剩下的元素被复制到新数组的尾部;//Merge(B[0…p-1],C[0…q-1],A[0…p+q-1]) i?0,j?0,k?0 while ip and jq do if B[i]=C[j] A[k]?B[i] i?i+1 else A[k]?C[j] j?j+1 k?k+1 if i=p copy C[j…q-1] to A[k…p+q-1] else copy B[i…p-1] to A[k…p+q-1];;例题;自然归并排序;主要内容;思想 按照元素的值进行划分 对给定数组中的元素进行重新排列,以得到一个快速排序的分区 在一个分区中,所有在s下标之前的元素都小于等于A[s],所有在s下标之后的元素都大于等于A[s] 建立了一个分区以后,A[s]已经位于它在有序数组中的最终位置。接下来使用同样的方法继续对A[s]前和A[s]后的子数组分别进行排序;//Quicksort[A[l…r]] //input:数组A[0…n-1]中的子数组A[l…r] //output:排序后的数组 if lr s?Partition(A[l…r]) Quicksort(A[l…s-1]) Quicksort(A[s+1…r]) ;思想 为了建立一个分区,有许多不同的方法对元素重新排列,其中一种是基于两次扫描子数组的高效算法 一次是从左到右,另一次是从右到左,每次都把子数组的元素和中轴进行比较 从左到右的扫描(i)从第二个元素开始,因为我们希望小于中轴的元素位于子数组的第一部分,扫描会忽略小于中轴的元素,直到遇到第一个大于等于中轴的元素才会停止 从右到左的扫描(j)从最后一个元素开始,扫描忽略大于中轴的元素,直到遇到第??个小于等于中轴的元素才会停止 两次扫描停止后,取决于扫描的指针是否相交,会发生3种不同的情况;描述 如果扫描指针i和j不相交,也就是说ij,简单的交换A[i]和A[j] 分别对i加一、j减一,然后继续开始扫描 示意;描述 如果扫描指针相交,也就是说ij,把中轴和A[j]交换 示意;描述 如果指针停下来时指向的是同一个元素,也就是说i=j,被指向元素的值一定等于p,此时建立的分区中分裂点的位置S=i=j 示意;p?A[l] i?l,j?r+1 repeat repeat i?i+1 until A[i]=p repeat j?j-1 until A[j]=p swap(A[i],A[j]) until i=j swap(A[i],A[j]) swap(A[l],A[j]) return j;;改进 随机数、两平均、三平均中轴选择算法 当子数组足够小时改用最简单的排序算法 综合运用这些措施,可缩减20%时间;提示;主要内容;希尔排序;Shell排序例;Shell排序例(续);算法分析;实现;实现(续);主要内容;时间复杂度比较;部分结论;部分结论;主要内容;顺序查找;折半查找;*

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档