十大经典排序

内部排序

  • 数据记录在内存中排序
  • 插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等
  • 稳定性:排序后 2 个相等键值的顺序和排序之前它们的顺序相同

外部排序

  • 而当待排序的文件比内存的可使用容量还大时,文件无法一次性放到内存中进行排序,需要借助于外部存储器(例如硬盘、U盘、光盘)的排序算法
  • 按照内存大小,将大文件分成若干长度为 M 的子文件(M 应小于内存的可使用容量),然后将各个子文件依次读入内存,
    使用适当的内部排序算法对其进行排序(排好序的子文件统称为“归并段”或者“顺段”),将排好序的归并段重新写入外存,为下一个子文件排序腾出内存空间;
    对得到的顺段进行合并,直至得到整个有序的文件为止。
  • 多路平衡归并排序(胜者树、败者树)算法 、置换选择排序算法、最佳归并树等
posted on 2021-04-12 22:43  逆流而上の鱼  阅读(51)  评论(0编辑  收藏  举报