




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
10.1插入排序 直接插入排序 排序过程:整个排序过程为n-1趟插入,即先将序列中第1个记录看成是一个有序子序列,然后从第2个记录开始,逐个进行插入,直至整个序列有序例若待排序记录按关键字从大到小排列(逆序) 关键字比较次数:若待排序记录是随机的,取平均值 关键字比较次数:折半插入排序 排序过程:用折半查找方法确定插入位置的排序叫~算法描述希尔排序(缩小增量法) 排序过程:先取一个正整数d1<n,把所有相隔d1的记录放一组,组内进行直接插入排序;然后取d2<d1,重复上述分组和排序操作;直至di=1,即所有记录放进一个组中排序为止取d3=1 三趟分组:算法描述希尔排序特点 子序列的构成不是简单的“逐段分割”,而是将相隔某个增量的记录组成一个子序列 希尔排序可提高排序速度,因为 分组后n值减小,n²更小,而T(n)=O(n²),所以T(n)从总体上看是减小了关键字较小的记录跳跃式前移,在进行最后一趟增量为1的插入排序时,序列已基本有序 增量序列取法 没有除1以外的公因子 最后一个增量值必须为18.2交换排序 冒泡排序 排序过程 将第一个记录的关键字与第二个记录的关键字进行比较,若为逆序r[1].key>r[2].key,则交换;然后比较第二个记录与第三个记录;依次类推,直至第n-1个记录和第n个记录比较为止——第一趟冒泡排序,结果关键字最大的记录被安置在最后一个记录上 对前n-1个记录进行第二趟冒泡排序,结果使关键字次大的记录被安置在第n-1个记录位置 重复上述过程,直到“在一趟排序过程中没有进行过交换记录的操作”为止例算法描述快速排序 基本思想: 通过一趟排序,将某关键字通过比较直接到位,并将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录进行排序,以达到整个序列有序排序过程:对r[s……t]中记录进行一趟快速排序,附设两个指针i和j,设枢轴记录rp=r[s],x=rp.key 初始时令i=s,j=t 首先从j所指位置向前搜索第一个关键字小于x的记录,并和rp交换 再从i所指位置起向后搜索,找到第一个关键字大于x的记录,和rp交换 重复上述两步,直至i==j为止 再分别对两个子序列进行快速排序,直到每个子序列只含有一个记录为止例例算法评价 时间复杂度 最好情况(每次总是选到中间值作枢轴)T(n)=O(nlog2n) 最坏情况(每次总是选到最小或最大元素作枢轴)T(n)=O(n²)8.3选择排序 简单选择排序 排序过程 首先通过n-1次关键字比较,从n个记录中找出关键字最小的记录,将它与第一个记录交换 再通过n-2次比较,从剩余的n-1个记录中找出关键字次小的记录,将它与第二个记录交换 重复上述操作,共进行n-1趟排序后,排序结束例算法描述堆排序 堆的定义:n个元素的序列(k1,k2,……kn),当且仅当满足下列关系时,称之为堆堆排序:将无序序列建成一个堆,得到关键字最小(或最大)的记录;输出堆顶的最小(大)值后,使剩余的n-1个元素重又建成一个堆,则可得到n个元素的次小值;重复执行,得到一个有序序列,这个过程叫~ 堆排序需解决的两个问题: 如何由一个无序序列建成一个堆? 如何在输出堆顶元素之后,调整剩余元素,使之成为一个新的堆? 第二个问题解决方法——筛选 方法:输出堆顶元素之后,以堆中最后一个元素替代之;然后将根结点值与左、右子树的根结点值进行比较,并与其中小者进行交换;重复上述操作,直至叶子结点,将得到新的堆,称这个从堆顶至叶子的调整过程为“筛选”例4976算法描述例含8个元素的无序序列(49,38,65,97,76,13,27,50)算法描述8.4归并排序 归并——将两个或两个以上的有序表组合成一个新的有序表,叫~ 2-路归并排序 排序过程 设初始序列含有n个记录,则可看成n个有序的子序列,每个子序列长度为1 两两合并,得到n/2个长度为2或1的有序子序列 再两两合并,……如此重复,直至得到一个长度为n的有序序列为止将下属两个已排序的顺序表合并成一个有序表。 顺序比较两者的相应元素,小者移入另一表中,反 复如此,直至其中任一表都移入另一表为止。0123 40123 40123 40123 40123 40123 40123 40123 40123 40123 40123 40123 40123 4例算法描述8.5基数排序 多关键字排序 定义:多关键字排序方法 最高位优先法(MSD):先对最高位关键字k1(如花色)排序,将序列分成若干子序列,每个子序列有相同的k1值;然后让每个子序列对次关键字k2(如面值)排序,又分成若干更小的子序列;依次重复,直至就每个子序列对最低位关键字kd排序;最后将所有子序列依次连接在一起成为一个有序序列最低位优先法(LSD):从最低位关

王子****青蛙
实名认证
内容提供者


最近下载
山西-建筑工程施工安全资料管理规程.ppt
山西-建筑工程施工安全资料管理规程.ppt
山西-建筑工程施工安全资料管理规程.ppt
小熊搬家PPT课件.ppt
小熊搬家PPT课件.ppt
小熊搬家PPT课件.ppt
2024年江苏江阴临港公资产经营限公司公开招聘工作人员7人历年高频综合难、易点(公共基础测验200题含答案解析)模拟试卷.docx
2024年江苏江阴临港公资产经营限公司公开招聘工作人员7人历年高频综合难、易点(公共基础测验200题含答案解析)模拟试卷.docx
2024年江苏江阴临港公资产经营限公司公开招聘工作人员7人历年高频综合难、易点(公共基础测验200题含答案解析)模拟试卷.docx
2024年江苏江阴临港公资产经营限公司公开招聘工作人员7人历年高频综合难、易点(公共基础测验200题含答案解析)模拟试卷.docx