seo网站优化方案,智能网站建设维护,seo诊断书,阿里巴巴手工活加工平台一、减治法在排序算法中的应用
插入排序#xff1a;时间复杂度O(n^2)#xff0c;虽然和选择、冒泡在最坏的情况下时间复杂度相同#xff0c;但是插排平均性能在比自身的最差性能快一倍#xff0c;所以相比选择、冒泡来说#xff0c;插排要领先于二者。 public class Main…一、减治法在排序算法中的应用
插入排序时间复杂度O(n^2)虽然和选择、冒泡在最坏的情况下时间复杂度相同但是插排平均性能在比自身的最差性能快一倍所以相比选择、冒泡来说插排要领先于二者。 public class Main {public static void main(String[] args) {int[] a {89, 45, 68, 90, 29, 34, 17};for (int i 1; i a.length; i) {int v a[i];int j i-1;/*** 在前i-1个有序元素中找到一个合适位置将a[i]插入* */while (j 0 a[j] v) {a[j1] a[j];j - 1;}a[j1] v;}for (int i 0; i a.length; i) {System.out.print(a[i] );}}
} 发现问题对于有序数组这样的最优输入来说快排的性能非常好但是这种情况毕竟没有太大的实际意义。而当大数据量测试的时候快排总是不尽如人意。
优化思路基于快排的一种拓展算法----Shell希尔排序