您的位置:首页 > 其它

常用排序算法、时间复杂度、实现思路

2015-02-12 14:35 337 查看
冒泡排序 O(n^2) : 冒泡排序也是最简单最基本的排序方法之一。冒泡排序的思想很简单,就是以此比较相邻的元素大小,将小的前移,大的后移,就像水中的气泡一样,最小
的元 素经过几次移动,会最终浮到水面上。

for (int i
= 0; i < arr.length - 1; i++) {
for (int j
= 0; j < arr.length - i - 1; j++) {
if (arr[j]
> arr[j + 1]) {
int t
= arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = t;
}
}
}

快速排序O(n log n) : 快速排序采用的思想是分治思想,其核心算法是分区
操作,即如何调整基准的位置以及调整返回基准的最终位置以便分治递归。

插入排序 O(n^2) :将新来的元素按顺序放入一个已有的有序序列当中。

选择排序 O(n^2) :第i 趟简单选择排序是指通过 n-i次关键字的比较,从n-i+1个记录中选
出关键字最小的记录,并和第 i 个记录进行交换。共需进行 i-1趟比较,直到所有记录排序
完成为止
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐