排序算法
排序
-
内部排序—八大排序;
-
插入排序(直接插入排序、希尔排序)
-
选择排序(简单选择排序、堆排序)
-
交换排序(冒泡排序、快速排序)
-
归并排序
-
基数排序
-
-
外部排序—排序数据很大,一次不能容纳全部数据的排序记录,排序过程中需要使用外存;
-
直接插入排序—稳定排序
-
将一条记录n,插入到已排好的n-1有序表中,直至全部记录插入完为止;
-
-
希尔排序—缩小增量排序—不稳定排序
-
将要排序的一组数,根据某一增量分为若干子序列,并对子序列分别进行插入排序,再逐渐将增量减少重复上述过程,直至增量为1;
-
-
简单选择排序—-不稳定排序
-
在一组数中选出最小与第一位置的数交换,再在剩下的数中找最小与第二位置的数交换,直至n-1元素与n元素比较为止;
-
-
堆排序—不稳定排序—-完全二叉树,最大堆(父节点的值总是大于它的子节点)
-
现将数组排成数,再根据规则从最后一个非叶节点开始调整;
-
-
冒泡排序—稳定排序
-
对数组相邻两个数依次比较调整,小的往前,大的往后;
-
-
快速排序
-
选择一个基准元素,通过一走向排序将数组分为2部分,其中一部分比之小,另一部分比之大,再对这两部分分纪录执行同样操作。
-
-
归并排序
-
将2个或2个以上有序表合成一个新的有序表
-