数据结构第21讲交换排序_第1页
数据结构第21讲交换排序_第2页
数据结构第21讲交换排序_第3页
数据结构第21讲交换排序_第4页
数据结构第21讲交换排序_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.起泡排序(Bubble Sort)交换排序v 将第一、第二个的关键字进行比较,若r1.key>r2.key,则交换;然后比较第二与第三个记录;依次类推,直至第n-1个和第n个比较为止第一趟冒泡排序,结果关键字最大的被安置在最后一个上;v 对前n-1个进行第二趟冒泡排序,结果使关键字次大的被安置在第n-1个位置;v 重复上述过程,直到“在一趟排序过程中没有进行过交换的操作”为止.排序过程例383813849131338494927213273038496565330381327304941327761352730627309765306576787697初始关键字第五趟第一趟第二趟第四

2、趟第三趟算法描述结束标志:一趟排序中没有过交换的操作,flag=0; 或 m=0;void bubble_sort(ElemTyper, int n) int m, i, j, flag=1;ElemType x; m=n-1;while(m>0)&&(flag=1) flag=0;/最大的移动到位置 m for(j=1;j<=m;j+)if(rj.key>rj+1.key) flag=1; x=rj; rj=rj+1; rj+1=x;m-;时间复杂度1, 4, 6, 9, 11, 34,67,98n-1 0§最好情况(正序)比较次数:移动次数:98

3、,67,34, 11, 9, 6, 4, 1§最坏情况(逆序)比较次数:n-1å(n - i) = 1 (n2 - n)2i=1n3移动次数:å(n - i) =(n- n)232i=1T(n)=O(n²)2.快速排序基本思想:通过一趟排序,将待排序 分割成 的两部分,其中一部分 的关键字均比另一部分 的关键字小,则可分别对这两部分进行排序,以达到整个序列有序。对rst中进行一趟快速排序,附设两个指针i和j,设枢轴rp=rs,x=rp.key1.2.初始时令i=s , j=t;首先从 j所指位置向前搜索第一个关键字小于x的,并和rp交换;再从i所指位置起

4、向后搜索,找到第一个关键字大于x的记录,和rp交换;重复上述两步,直至i=j为止;再分别对两个子序列进行快速排序,直到每个子序列只含3.4.5.有一个为止。排序过程pivotkey例13i49iij9765j初始关键字2738i76j49jji完成一趟排序:( 273813)49(76976549)( 13)27(38)49(49 65)76(97)分别进行快速排序:快速排序结束:1327384949657697例初始关键字:x.key=494938i1376j97j6549j27iijiiiijj( 273813)49(76976549)完成一趟排序:在排序过程中,枢轴可不用交换,一趟排序结束后再将枢轴移到合适的位置。v 空间复杂度:需栈空间以实现递归« 最坏情况:S(n)=O(n)«情况:S(n)=O(log2n)v 时间复杂度« 最好情况(每次总是选到中间值作枢轴)T(n)=O(n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论