排序
这里主要有主要的排序算法以及个人的算法实现
不会街健的bboy不是一个好程序员
这个作者很懒,什么都没留下…
展开
-
计数排序 与 基数排序
桶排序思想首先我们在讲计数排序和基数排序之前,我们需要了解桶排序思想。桶排序思想不同于之前插入,冒泡,堆,快速等等排序,桶排序不是基于比较的排序,而是基于把相同的数或者相同范围的数,放入到一个桶中,最后按照桶的顺序去打印桶下标,或者打印桶的内容,这样就排好序了。但是这种算法有很多缺点,时间复杂度和空间复杂度都不低,而且时间复杂度如果要低,空间复杂度会变高;空间复杂度变低,时间复杂度会变高。...原创 2020-01-19 16:11:09 · 373 阅读 · 0 评论 -
浅谈Java底层排序双轴快排
在Java 底层的排序中有几个非常有用并且面试可以装逼的算法,TimSort,DualPivotQuicksort( 双轴快速排序 ),( binarySort)二分插入排序。这三个排序,TimSort的思想非常先进并且有效,是目前排序算法中运用于工程中最最最好的算法了。在这里我赋上各位大佬写的详细解释的链接:TimSort详细解释双轴快排详细解释这篇文章我们来谈谈Java在底层排序的实...原创 2020-01-17 00:04:49 · 1048 阅读 · 1 评论 -
归并排序扩展-对对象排序 浅谈TimSort
对对象排序的方法:Timsort()Java默认的对对象排序的方法是Arrays.sort(),关于Arrays.sort()的对对象排序都存在重载,但是在底层调用的都是TimSort()我们来先了解一下方法的描述以及TimSort的参数意义对对象排序方法的简单描述:对对象数组排序时,首先这个数组的任意两个元素都可以相互比较,我们需要传入比较器Comparator对任意两个元素进行比较时...原创 2020-01-16 00:24:21 · 267 阅读 · 0 评论 -
归并排序
首先我们引入一张思维导图,并且以后的排序博客我将以这位博主的博文为基础,进行代码自我实现,简单介绍以及自我理解。链接:cnblogs.com/cndarren/p/11787368.html归并算法的思想待排序列中先以两个元素为一组进行分组,再对组内的成员进行排序。接着我们再两个组合并为一个组,再对每一组进行排序,直到没有组可以合并为止。此时序列就有序了。图解:实现: pub...原创 2019-12-04 16:40:53 · 80 阅读 · 0 评论 -
堆排序
首先我们引入一张思维导图,并且以后的排序博客我将以这位博主的博文为基础,进行代码自我实现,简单介绍以及自我理解。链接:cnblogs.com/cndarren/p/11787368.html...原创 2019-11-27 22:35:05 · 100 阅读 · 0 评论 -
快速排序
首先我们引入一张思维导图,并且以后的排序博客我将以这位博主的博文为基础,进行代码自我实现,简单介绍以及自我理解。链接:cnblogs.com/cndarren/p/11787368.html快速排序快速排序的思想:快速排序的思想是选取一个基准,定义两个指针,一个指针在前(low),一个指针在后(high);先从后向前(从high位置开始,high–)找比基准小的值,然后与放到基准位置;再从...原创 2019-11-20 11:11:31 · 250 阅读 · 0 评论 -
插入排序与希尔排序
首先我们引入一张思维导图,并且以后的排序博客我将以这位博主的博文为基础,进行代码自我实现,简单介绍以及自我理解。链接:cnblogs.com/cndarren/p/11787368.html。这篇博客主要介绍简单插入排序和希尔排序的思想以及自己的实现。简单插入排序简单插入排序的思想非常容易理解,就是打扑克时的调整排序。假如手中有一副牌【1,2,3,1,4,5,2,J,K,3】最后我们...原创 2019-11-19 22:28:28 · 169 阅读 · 0 评论 -
冒泡排序与简单选择排序
首先我们引入一张思维导图,并且以后的排序博客我将以这位博主的博文为基础,进行代码自我实现,简单介绍以及自我理解。链接:cnblogs.com/cndarren/p/11787368.html。这篇博客我主要介绍和实现冒泡排序和简单选择排序,这个两个排序是排序算法中非常简单并且很容易理解的排序。在介绍排序之后,我会给出时间复杂度,空间复杂度,稳定性 ,优化。冒泡排序冒泡排序就是给定排序数...原创 2019-11-17 22:30:29 · 630 阅读 · 0 评论