常用排序方法归纳总结

1. 排序算法的分类

内部排序:所有排序操作均在内存中完成,不需要借助外部存储器的排序。

外部排序:参与排序的数据量十分大,无法再内存中完成,必须借助外部存储器的排序。

外部排序的最常用的算法:多路归并排序,其算法思想如下:

  1. 把要排序的文件中的一组数据读入内存的排序区,然后用内部排序对这一组数据排序,接着输出到外部存储器
  2. 重复第一步,每次读取一组数据,直到原文件的所有记录都被处理完毕。
  3. 将分组排好序的记录两组两组地合并排序。在内存容量允许的情况下,每组包含的记录越大越好,这样可以减少合并的次数。

2. 常用内部排序算法的分类

交换排序法:冒泡排序 | 鸡尾酒排序 | 快速排序
选择排序法:选择排序 | 堆排序
插入排序法:插入排序 | 二分插入排序 | 希尔排序
归并排序法:归并排序
非比较排序:桶排序 | 计数排序 | 基数排序

3. 常用内部排序算法的分类

算法分析的三个指标

  • 时间复杂度:主要分析关键字的比较次数和记录的移动次数。
  • 空间复杂度:分析排序中需要的辅助内存。
  • 稳定性:若记录A和B的关键字值相等,但排序后A、B的先后次序保持不变,则此排序算法是稳定的;反之,就是不稳定的的。

01144922-33750038c2a347f6a79065530df0b153

注:本图片来自博文:http://blog.csdn.net/han_xiaoyang/article/details/12163251

posted @ 2013-12-03 10:35  a ray of sunshine  阅读(182)  评论(0编辑  收藏  举报