Loading

摘要: 归并排序 二路归并排序 初始时,将每个记录看成一个单独的有序序列,则n个待排序记录就是n个长度为1的有序子序列 对所有有序子序列进行两两归并,得到n/2个长度为2或1的有序子序列--一趟归并 重复步骤2,直到得到长度为n的有序序列为止 上述排列过程中,子序列总是两两归并,称为2路归并排序。其核心是如 阅读全文
posted @ 2020-07-28 23:31 BigBender 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 基数排序 最高位优先(Most Significant Digit first) MSD:先按最高位排成若干子序列,然后再对每个子序列按次高位排序。 最低位优先(Least Significant Digit first) LSD:先按最低位排成若干子序列,然后再对每个子序列按次低位排序。 示例 对 阅读全文
posted @ 2020-07-28 20:39 BigBender 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 排序方式时间复杂度空间复杂度稳定性复杂性 平均情况 最坏情况 最好情况 直接插入排序 O(n^2) O(n^2) O(n) O(1) 稳定 简单 希尔排序 O(n^1.3 \~ n^2) O(1) 不稳定 较复杂 冒泡排序 O(n^2) O(n^2) O(n) O(1) 稳定 简单 快速排序 O(n 阅读全文
posted @ 2020-07-28 20:38 BigBender 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序 依次比较两个相邻的两个记录的关键字,若两个记录是反序的(即前一个记录的关键字大于后一个记录的关键字),进行交换,直到没有反序的记录为止。 一趟冒泡排序 对a[0]与a[1]的关键字比较大小,若反序,交换位置;然后比较a[1]与a[2]的关键字大小,若反序,交换位置。 以此类推,直到比较到最 阅读全文
posted @ 2020-07-28 20:26 BigBender 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-07-28 08:54 BigBender 阅读(108) 评论(0) 推荐(0) 编辑