java 选择排序与冒泡排序
Posted Bigerf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 选择排序与冒泡排序相关的知识,希望对你有一定的参考价值。
选择排序与冒泡排序的特点与区别
++++++++++++++++++++++++++++++++++++++++++++++
选择排序 |
这一种简单的排序方法,它的基本思想是:
|
特点 |
选择排序的平均时间复杂度是O(n2)的。
|
1 for(int i = 0;i<arr.length;i++){ 2 3 for(int j= 1 ; j<arr.length;j++){ 4 if(arr[j-1]>arr[j]){ 5 int temp = arr[j]; 6 arr[j] = arr[j-1]; 7 arr[j-1] = temp; 8 9 } 10 } 11}
+++++++++++++++++++++++++++++++++++++++++++++++
冒泡排序 |
依次比较相邻的两个数,将小数放在前面,大数放在后面。
|
特点 |
冒泡排序的平均时间复杂度与插入排序相同,也是平方级的,但也是非常容易实现的算法。
|
1 for(int i =0;i<arr.length-1;i++){ //从第一个开始遍历 2 3 for(int j=0;j<arr.length-1-i;j++){ // 4 5 if(arr[j]>arr[j+1]){ //前面的数比后面的数大 6 int temp = arr[j]; //然后进行交换,将大的往后排 7 arr[j] = arr[j+1]; 8 arr[j+1] = temp; 9 } 10 } 11}
陌陌说:选择排序(包含shaker排序/堆排序)和冒泡排序都属于交换排序的一种。
计算机的一些排序算法:插入排序 、冒泡排序 、选择排序 、快速排序 、堆排序 、归并排序、基数排序、希尔排序
【每个排序算法都有一个 平均时间复杂度】
以上是关于java 选择排序与冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章