排序

1.插入排序

排序[0, 2], [0,3],[0,4] --- [0,n]  

比较次数:总的比较次数,1 + 2 + 3 + ... +  n-1,时间复杂度:O(N^2)

空间复杂度: O(1)

2.快速排序

设置基本点,将小于基本点的放到基本点的左边,大于基本点的放在右边,

分别从序列“6  1  2 7  9  3  4  5 10  8”两端开始“探测”。先从右往左找一个小于6的数,再从左往右找一个大于6的数,然后交换他们。一定是右边先开始,考虑一下是为什么,直到左右相遇,

用6和相遇的点进行交换,实现6左边的比6小,6右边的比6大

然后分成两个子序列,对子序列排序,直到排到子序列元素个数为1和2

 3.并归排序

分治算法,问题分成小的问题,然后将分阶段获取的答案合并到一起

4.希尔排序 ?

5.堆排序 不明白

原文地址:https://www.cnblogs.com/zhongchang/p/11032794.html