3 种简单算法总结

3 种简单算法总结

-

插入排序,在业务中,使用是最多的。其他 2 种排序,只是用来涨涨见识而已。

相同点

都分为 有序区间 和 非有序区间。

例如,在冒泡排序中,我们每次,都会找到最大的数字,将其放到最右边(右边已经排序好了)。

在插入排序中,我们每次都将 i 的值,放到对应的位置(左边已经排序好了)。

在选择排序中,我们每次追加的,都是最小的值,左边都是有序的。右边都是无序的。

他们的时间复杂度都是 On^2; 且他们都是原地排序。

不同点

关于稳定性,选择排序不是稳定的(当第一位的元素是重复的时候,改元素会被换到后面去)。

冒泡和插入都是有序的。

同时,在冒泡和插入的选择上,虽然时间复杂度都是 On^2, 但是,我们通常会使用插入排序,因为他的交换操作只有 一步,而冒泡有 3 步。


3 种简单算法总结
http://thinkinjava.cn/2019/10/19/2019/1019-sort-summary/
作者
莫那·鲁道
发布于
2019年10月19日
许可协议