做网站的关键词,90平方装修全包价格,wordpress 浮动导航插件,某网站注册需要邮箱是怎么弄蛮力法在排序算法中的应用
对于一个排序问题#xff0c;我们能想到的最简单的排序方法就是选择和冒泡
1、选择排序#xff1a;时间复杂度O(n^2) public class Main {public static void main(String[] args) {int[] a {89, 45, 68, 90, 29, 34, 17};int min;for (int i 0…蛮力法在排序算法中的应用
对于一个排序问题我们能想到的最简单的排序方法就是选择和冒泡
1、选择排序时间复杂度O(n^2) public class Main {public static void main(String[] args) {int[] a {89, 45, 68, 90, 29, 34, 17};int min;for (int i 0; i a.length-1; i) {min i;for (int j i1; j a.length; j) {if (a[j] a[min]) {min j;}}int temp a[i];a[i] a[min];a[min] temp;}for (int i 0; i a.length; i) {System.out.print(a[i] );}}
}
选择排序的思路就是如此虽也有优化思路例如每次迭代出最大值和最小值放在开头和结尾。但是选择排序必然要编译算真整个数组所以最好的优化结果也是O(n^2)。
2、冒泡排序时间复杂度O(n^2) public class Main {public static void main(String[] args) {int[] a {89, 45, 68, 90, 29, 34, 17};int min;for (int i 0; i a.length-1; i) {for (int j 0; j a.length-1-i; j) {if (a[j1] a[j]) {int temp a[j];a[j] a[j1];a[j1] temp;}}}for (int i 0; i a.length; i) {System.out.print(a[i] );}}
}
发现问题对于冒泡排序我们都知道即使已经排好顺序循环还是会继续进行即使只比较不交换。 优化思路当判断到数组已经不再发生改变之后就终止循环。
当然这就是蛮力法的一个应用通过蛮力的解法来找到优化的思路