排序算法学习(总览)

1.介绍

   排序算法是《数据结构与算法》中最基本的算法之一。

   排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,

   而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。

 

2.常见的内部排序

   插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。

  

 

 

 

 

2.时间复杂度

   第一种:平方阶 (O(n2)) 排序 各类简单排序:直接插入、直接选择和冒泡排序。

   第二种:线性对数阶 (O(nlog2n)) 排序 快速排序、堆排序和归并排序;

   第三种:O(n1+§)) 排序,§ 是介于 0 和 1 之间的常数。 希尔排序

                 线性阶 (O(n)) 排序 基数排序,此外还有桶、箱排序。

 

3.稳定性

   稳定的排序算法:冒泡排序、插入排序、归并排序和基数排序。

   不是稳定的排序算法:选择排序、快速排序、希尔排序、堆排序。

 

4.名词解释

   n:数据规模

   k:"桶"的个数

   In-place:占用常数内存,不占用额外内存

   Out-place:占用额外内存

   稳定性:排序后 2 个相等键值的顺序和排序之前它们的顺序相同

  

学习来源:https://www.runoob.com/w3cnote/ten-sorting-algorithm.html

posted @ 2020-09-03 13:16  小窝蜗  阅读(135)  评论(0编辑  收藏  举报