java
weixin_43265020
这个作者很懒,什么都没留下…
展开
-
快速排序算法JAVA详解篇
快速排序算法详解通识与方法:快速排序是一个确定基数,一次从右向左查找比基数小的值,之后又从左向右查找比基数大的值,交换所查找到的这两个值,之后在重复上面的向左向右查找,交换查找值。最终我们要停止查找的前提条件便是当从右查找现在位于的数组下标和向左查找现在位于的数组下标相重合。之后我们便需要将基数与重合位置的值交换。此时我们能够确定的是当前左半部分的值都比基数小,右半部分的值都比基数大,但是两部分内部的数值还是无序的,而我们想要使其有序,便可以使用递归的方法来进行实现,直到每个部分最多只有两个数时便可.原创 2020-05-27 14:19:14 · 125 阅读 · 1 评论 -
归并排序算法详解
归并排序算法通识:归并排序首先就会将当前数组分解为左右两部分,之后左右两部分又分别再继续分为左右两部分,说到这里大家肯定就能想起递归了,是的,直到分解为当前各个部分只有一个数值为止,之后将配对的左右部分按照大小合并为一个新的数组,比如下图所示。归并排序比较占用内存,但却是一种效率高且稳定的算法。改进归并排序在归并时先判断前段序列的最大值与后段序列最小值的关系再确定是否进行复制比较。如果前段序列的最大值小于等于后段序列最小值,则说明序列可以直接形成一段有序序列不需要再归并,反之则需要。所以在序列本身有原创 2020-05-27 13:58:56 · 159 阅读 · 0 评论 -
计数排序算法JAVA代码详细解答
计数排序通识:计数排序说白了是一种以空间换时间的做法,在小规模排序中它的性能会比快排,归并要快一些,但是进行大规模排序是就可能出现性能过低的现象。其中有一个阈值O(k)>O(nlog(n)),其中O(nlog(n))是需要比较的排序这些算法的下限。缺点:空间浪费可能较大,无法估量比如你相对数组number[2]={100000,1}进行排序,那么你就得创建一个数组长度为100001的数组来进行存储,比如我们称这个数组为store,那么我们就需要将number数组中的1存到store数组的1号位置s原创 2020-05-27 13:41:34 · 163 阅读 · 0 评论