排序算法区别和优缺点速记
文章目录
排序汇总
排序方法 | 基本思想 | 优点 | 缺点 |
---|---|---|---|
冒泡排序 | 比较相邻元素,大/小的元素逐渐往后移 | 稳定 | 慢 |
选择排序 | 第一个元素和后面所有元素比较,最大/小的元素放第一个,如此往复 | 移动次数少 | 比较次数多 |
快速排序 | 选第一个元素为基数,和后面所有元素比较,比它大的放后面,小的放前面,再不断递归基数左右两边的序列 | 极快 | 不稳定 |
插入排序 | 选第一个元素为有序序列,后面都为无序,后面第一个数与有序数列中的数比较,大/小就放有序前面,如此往复 | 稳定,快 | 比较次数不一定 |
希尔排序 | 共有3层循环,外层是以步长为循环(一般取数组的一半),循环一次再除一半,中层和里层就是插入排序的操作,当增量减到1时,整个文件恰好被分成一组,算法便终止 | 快 | 不稳定,凭经验取步长 |
ps:截图来自网上,有涉及版权问题联系我删除。