十种排序算法(java描述)

来源:互联网 发布:apple mac mini 编辑:程序博客网 时间:2024/04/30 15:18

代码中类似mid=(low+high)/2的语句可能会产生溢出,可以改成mid=low+(high-low)/2

一、冒泡排序(时间复杂度:O(n^2),稳定)

二、选择排序(时间复杂度:O(n^2),不稳定)

三、直接插入排序(时间复杂度:O(n^2),稳定)

四、折半插入排序(时间复杂度:O(n^2),稳定)

五、希尔排序(时间复杂度:O(n^1.3),不稳定)

六、快速排序(时间复杂度:O(nlog2n),不稳定)

七、堆排序(时间复杂度:O(nlog2n),不稳定)

八、归并排序(时间复杂度:O(nlog2n),稳定)

九、桶排序(时间复杂度:O(n),稳定)

十、基数排序(时间复杂度:O((n+radix)*digitCount),稳定)

0 0
原创粉丝点击