![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java 基础学习
墩仔
nononononononononO
展开
-
选择排序的Java实现
算法思想:将待排数据从头扫描一遍,从中选出最小值,放在数列最左端,即从数列最左端开始排序 效率:选择排序和冒泡排序一样运行了O(N²)时间,但是选择排序进行的交换次数远小于冒泡排序。 class selectionSort{ public static void main(String[] args){ selectionSortfun(); } private static voi原创 2015-11-25 14:52:05 · 283 阅读 · 0 评论 -
冒泡排序的java实现
冒泡排序(BubbleSort) 算法思想: 在待排序列中,通过循环比较相邻的两个待排元素,将值大的放到值小的右边,从而使得数列有序。 不变性: 在许多算法中,有些条件在算法执行时是不变的,这些条件被称为不变性。在冒泡排序中,不变性指外层循环条件out右边的所有数据为有序。 效率:交换和比较次数都和N²成正比,运行时间为O(N²) class bubbleSort{原创 2015-11-25 14:06:45 · 295 阅读 · 0 评论 -
插入排序的Java实现
算法思想:插入排序基于一个前提条件:局部有序,数列中有一个标记的成员,在这个成员的左边,左右的数据都已经按照顺序排列好了,插入算法要做的就是依次比较标记成员与他左边的数据的值,因为标记成员左边的数据已经有序,所以可以通过比较值来确定标记成员的插入位置。 效率:需要平均N*(N-1)/(2*2)次比较,时间O(N²) class insertSort{ public static voi原创 2015-11-27 09:44:51 · 282 阅读 · 0 评论 -
一个简单的基于数组优先级队列的Java代码
优先级队列与普通的队列相比,区别在于他的数据项按关键字的值有序排列,数据项在插入的时候会按照顺序插入到合适的位置以确保队列的顺序。 像普通的队列一样,优先级队列在某些计算机系统中也有很多应用。优先级队列通常使用堆来实现,下列代码是基于数组的一个简单优先级队列的实现。 import java.io.*; class PriorityQueue{ private int maxSize; pr原创 2015-12-01 11:13:49 · 1070 阅读 · 0 评论 -
归并排序的java实现
算法思想:把待排数列分成两部分,排序每一部分,然后将排序后的两部分合并。递归地进行这个过程。 时间复杂度:O(N*logN) 代码: import java.util.*; class mergeSort { public static int[] sort(int[] theArray, int lowerBound, int higherBound) { int mid = (原创 2015-12-03 11:33:32 · 312 阅读 · 0 评论 -
快速排序的java实现
1.算法思想 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 2.实现思路。 ①以第一个关键字 K 1 为控制字,将 [K 1 ,K 2 ,…,K n ] 分成两个子区,使左区所有关键字小于等于 K 1 ,右区所有关键字大于等于 K 1原创 2016-03-23 10:08:12 · 371 阅读 · 0 评论