![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java笔记
KiloMeterKM
这个作者很懒,什么都没留下…
展开
-
几种常见的排序算法(插入排序,希尔排序,归并排序和快速排序),算法分析以及改进
最近刚看完《算法》第四版的第二章,把排序算法都实现了下,总结一下这几种排序算法的优劣,改进方案和应用场景。插入排序所需的时间取决于输入中元素的初始顺序,对一个很大且其中的元素已经有序(或者接近有序)的数组进行排序将会比对随机顺序的数组或是逆序数组进行排序快得多。static void exchange(int[] a,int i,int j) { int temp; temp=a[原创 2017-09-13 15:37:40 · 457 阅读 · 0 评论 -
《算法》第四版第一章以及java核心技术卷I基础部分知识点
使用数组:Int[] a=new int[N];a[i]=100;Int[] b=a;b[i]=111;//a[i]也会变成111;这种情况称为取别名,如果想要复制整个数组,应该如下所示:Int[] a=new int[N];Int[] b=new int[N];for(int i=0;i b[i]=a[i];或者Int[] a=new int[N原创 2017-09-05 18:13:16 · 442 阅读 · 0 评论 -
几种常见的排序算法(插入排序,希尔排序,归并排序和快速排序)——希尔排序
希尔排序是对插入排序的改进版本,在对于大型的数组来说,插入排序的速度很慢,因为每次只能交换两个相邻的元素,因此元素只能一点一点地从数组的一端移动到另一端,如果最小的元素刚好在数组的最后一位,就需要进行n-1次移动,在最坏的情况下时间复杂度为O(n²),希尔排序为了加快插入排序简单的改进了一下插入排序,交换不相邻的元素而对数组的局部进行排序,最终用插入排序将局部有序的数组排序。static vo原创 2017-09-20 16:32:20 · 584 阅读 · 0 评论