排序算法学习

1、选择排序:每次选择最小和当前第一个交换。即使提前排序好了还是会遍历全部。二次复杂度,不稳定

2、插入排序:每次把当前插入前面已经排序好的。,不会提前停止。 二次复杂度,稳定

3、shell排序:把插入排序的步长增大,3x+1。代码短,效率高,不稳定

4、merge排序:借助另一个数组(不要在递归里创建,会浪费空间),每次二分递归。另一种自底向上merge排序更短,看代码,相等移左边稳定

posted @ 2016-08-23 21:04  alan215m  阅读(134)  评论(0编辑  收藏  举报