最新排序与选择.ppt
6.1 简单排序算法 6.1.1 冒泡排序 基本思想: 将第一个记录的关键字与第二个记录的关键字进行比较,若为逆序(即:a[0].keya[1].key),则交换;然后比较第二个记录与第三个记录;依次类推,直至第n-1个记录和第n个记录比较为止——第一趟冒泡排序,结果关键字最大的记录被安置在最后一个记录上 对前n-1个记录进行第二趟冒泡排序,结果使关键字次大的记录被安置在第n-1个记录位置 重复上述过程,直到“在一趟排序过程中没有进行过交换记录的操作”为止 算法描述 6.1 简单排序算法 6.1.2 直接插入排序 基本思想: 整个排序过程为n-1趟插入,即先将序列中第1个记录看成是一个有序子序列,然后从第2个记录开始,逐个进行插入,直至整个序列有序。 6.1 简单排序算法 6.1.3 选择排序 基本思想: 首先通过n-1次关键字比较,从n个记录中找出关键字最小的记录,将它与第一个记录交换; 再通过n-2次比较,从剩余的n-1个记录中找出关键字次小的记录,将它与第二个记录交换; 重复上述操作,共进行n-1趟排序后,排序结束。 6.2 快速排序算法 6.2.0 算法的基本策略思想 ——非平衡、预处理二分分治 第一步 对于给定的数组a[p:r],pr,以x=a[p]为基准,调整a[p:q],使得
原创力文档

文档评论(0)