(原创)
排序算法小记:
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.冒泡
每趟相邻两元素比较,交换出最大值到最右。