数据结构专题排序和查找.ppt
《数据结构专题排序和查找.ppt》由会员分享,可在线阅读,更多相关《数据结构专题排序和查找.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构专题排序和查找数据结构专题排序和查找现在学习的是第1页,共37页已经学过的排序算法(已经学过的排序算法(7 7种)种)第第2 2章章计数排序计数排序选择排序选择排序冒泡排序冒泡排序插入排序(折半插入排序)插入排序(折半插入排序)第第3 3章章箱子排序箱子排序基数排序基数排序第第9 9章章堆排序堆排序2现在学习的是第2页,共37页已经学过的查找方法(已经学过的查找方法(5 5种)种)第第7 7章章哈希查找哈希查找第第1111章章BSTBST查找查找AVLAVL查找查找红黑树查找红黑树查找B B树查找树查找3现在学习的是第3页,共37页主要内容主要内容归并排序归并排序快速排序快速排序希尔排
2、序希尔排序排序算法的分析与比较排序算法的分析与比较关于查找的讨论关于查找的讨论4现在学习的是第4页,共37页归并排序归并排序考虑用分治方法解决排序问题考虑用分治方法解决排序问题原子问题原子问题n=1n=1分解方法一分解方法一前前n-1n-1个元素为集合个元素为集合A A,最后一个为集合,最后一个为集合B B对对A A递归地使用分治方法进行排序,递归地使用分治方法进行排序,B B自然有序自然有序A A、B B合并合并插入排序!现在学习的是第5页,共37页简单分治排序简单分治排序分解方法二分解方法二选出最大的元素作为选出最大的元素作为B B,剩余的作为,剩余的作为A A对对A A递归地进行排序递归
3、地进行排序无需合并无需合并性能差性能差划分不平衡划分不平衡选择排序!现在学习的是第6页,共37页平衡划分平衡划分归并排序归并排序An/kAn/k个元素,个元素,Bn-n/kBn-n/k个元素个元素k=2k=2时,均匀划分时,均匀划分A A、B B排序完成后,合并(排序完成后,合并(mergemerge)它们)它们现在学习的是第7页,共37页思想思想对于一个需要排序的数组对于一个需要排序的数组A0n-1A0n-1,把它一分为二:,把它一分为二:A0n/2-1A0n/2-1和和An/2n-1An/2n-1,并对每个子数组递归排序,并对每个子数组递归排序然后把这两个排好序的子数组合并为一个有序数组然
4、后把这两个排好序的子数组合并为一个有序数组归并排序归并排序现在学习的是第8页,共37页/Mergesort/Mergesortif n1if n1copy A0n/2-1 to B0n/2-1copy A0n/2-1 to B0n/2-1copy An/2n-1 to C0n/2-1copy An/2n-1 to C0n/2-1Mergesort(B0n/2-1)Mergesort(B0n/2-1)Mergesort(C0n/2-1)Mergesort(C0n/2-1)Merge(B,C,A)Merge(B,C,A)算法描述算法描述时间代价较小,空间消耗较多现在学习的是第9页,共37页思想思想
5、对两个有序数组的合并对两个有序数组的合并初始状态下,关注两个待合并数组的第一个元素初始状态下,关注两个待合并数组的第一个元素然后比较这两个元素的大小,将较小的元素添加到然后比较这两个元素的大小,将较小的元素添加到一个新创建的数组中一个新创建的数组中接着被复制数组中的下标后移,指向该较小元素的后继接着被复制数组中的下标后移,指向该较小元素的后继元素元素上述操作一直持续到两个数组中的一个被处理完为止上述操作一直持续到两个数组中的一个被处理完为止然后在未处理完的数组中,剩下的元素被复制到新数然后在未处理完的数组中,剩下的元素被复制到新数组的尾部组的尾部MergeMerge算法算法10现在学习的是第1
6、0页,共37页/Merge(B0p-1,C0q-1,A0p+q-1)i0,j0,k0while ip and jq doif Bi=CjAkBiii+1elseAkCjjj+1kk+1if i=pcopy Cjq-1 to Akp+q-1elsecopy Bip-1 to Akp+q-1MergeMerge算法描述算法描述现在学习的是第11页,共37页算法演示算法演示现在学习的是第12页,共37页例题例题有有8 8个关键字个关键字8,3,2,9,7,1,5,48,3,2,9,7,1,5,4,使用归并排序方,使用归并排序方法将其排列为升序序列,给出排序过程法将其排列为升序序列,给出排序过程解:解
7、:初初 始:始:8,3,2,9,7,1,5,4 8,3,2,9,7,1,5,4第一趟:第一趟:3,8,2,9,1,7,4,53,8,2,9,1,7,4,5第二趟:第二趟:2,3,8,9,1,4,5,72,3,8,9,1,4,5,7第三趟:第三趟:1,2,3,4,5,7,8,91,2,3,4,5,7,8,9排序结束。排序结束。13现在学习的是第13页,共37页自然归并排序自然归并排序natural merge sortnatural merge sort进一步改进:若原始序列中存在有序子序列,进一步改进:若原始序列中存在有序子序列,则不进行分解则不进行分解4,8,3,7,1,5,6,24,8,3
8、,7,1,5,6,24,8,3,7,1,5,6,24,8,3,7,1,5,6,23,4,7,8,1,2,5,63,4,7,8,1,2,5,61,2,3,4,5,6,7,81,2,3,4,5,6,7,8现在学习的是第14页,共37页主要内容主要内容归并排序归并排序快速排序快速排序希尔排序希尔排序排序算法的分析与比较排序算法的分析与比较关于查找的讨论关于查找的讨论15现在学习的是第15页,共37页思想思想按照元素的值进行划分按照元素的值进行划分对给定数组中的元素进行重新排列,以得到一个快速排序的分区对给定数组中的元素进行重新排列,以得到一个快速排序的分区在一个分区中,所有在在一个分区中,所有在s
9、s下标之前的元素都小于等于下标之前的元素都小于等于AsAs,所有,所有在在s s下标之后的元素都大于等于下标之后的元素都大于等于AsAs建立了一个分区以后,建立了一个分区以后,AsAs已经位于它在有序数组中的最终位已经位于它在有序数组中的最终位置。接下来使用同样的方法继续对置。接下来使用同样的方法继续对AsAs前和前和AsAs后的子数组分别后的子数组分别进行排序进行排序快速排序快速排序现在学习的是第16页,共37页/QuicksortAlr/QuicksortAlr/input:/input:数组数组A0n-1A0n-1中的子数组中的子数组AlrAlr/output:/output:排序后的数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 专题 排序 查找
限制150内