基本排序算法

(原创)

排序算法小记:

1.插入排序(insertion sort)

打牌式

2.选择排序(selection sort)

挑出最值放第一个,再挑出余下最值放第二个,如此下去

3.merge sort

分割到两两一组,然后有序合并

4.heap sort

首次建max-heap,然后每次不断交换root和尾节点,同时对新的size-1的二叉树heapify,直至一个节点。

5.快排

选一个中介,如最左元素,剩下的元素分割成两组,一组小于,一组大于等于,

然后将中介置于正确分割位置p,再对 start - (p-1)  和 (p+1) - end 两部分递归。

6.shell sort

不断二分gap至1,每次对隔gap的元素(list[i] 和 list[i+gap])比较大小, 使隔gap的子序列是有序的。

7.冒泡

每趟相邻两元素比较,交换出最大值到最右。

原文地址:https://www.cnblogs.com/randomstring/p/10426250.html