排序算法
0 人感兴趣 · 20 次引用
- 最新
- 推荐


「八大排序算法」16 张图带你彻底搞懂基数排序
原创公众号:bigsai 转载需注明本链接和作者 本文用16张图讲了基数排序的原理以及各种情况的实现,包括数字类型,字符串等长和不等长的以及用数组优化空间实现!
「排序算法」图解双轴快排
原创公众号:bigsai,双轴快排为Arrays.sort()主要使用的排序方式,但是Arrays.sort()看起来可能复杂一些,这里图解让你最容易理解双轴快排!


如何把百万级别的订单根据金额排序
前面「码哥字节」介绍了一些经典排序算法,它们的时间复杂度最好是 O(nlogn),那 **如何把百万级别的订单根据金额排序?**是不是觉得可以按照之前学的归并排序、快速排序实现?功能是可以完成,但是效率太低了。今天「码哥」带大家一起玩转特殊场景下的排序算


python 实现·十大排序算法之桶排序 (Bucket Sort)
桶排序也叫箱排序,其主要思想是:将待排序集合中处于同一个值域的元素存入同一个桶中,也就是根据元素值特性将集合拆分为多个区域,则拆分后形成的多个桶,从值域上看是处于有序状态的。对每个桶中元素进行排序,则所有桶中元素构成的集合是已排序的。

python 实现·十大排序算法之基数排序 (Radix Sort)
基数排序是一种非比较型排序算法,基本思想是:将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。按照低位先排序,分别放入10个队列中,然后采用先进先出的原则进行收集;再按照高位排序,然后再收集;依次类推直到最高位,最终得到排好序的数列

python 实现·十大排序算法之计数排序 (Counting Sort)
计数排序不是基于比较的排序算法,其核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。 基本思想是:给定的输入序列中的每一个元素x,确定该序列中值小于等于x元素的个数,然后将x直接存放到最终的排序序列的正确位置上。

python 实现·十大排序算法之堆排序 (Heap Sort)
堆排序是利用堆这种数据结构而设计的一种排序算法。思路为: 将一个无序序列调整为一个堆,就能找出序列中的最大值(最小值),然后将找出的这个元素与末尾元素交换,这样有序序列元素就增加一个,无序序列元素减少一个,对新的无序序列重复操作,从而实现排序

python 实现·十大排序算法之希尔排序 (Shell Sort)
希尔排序也称缩小增量排序,其基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。

python 实现·十大排序算法之归并排序 (Merge Sort)
归并排序是一种非常高效的排序方式,它用了分治的思想,基本排序思想是:先将整个序列两两分开,然后每组中的两个元素排好序。接着就是组与组和合并,只需将两组所有的元素遍历一遍,即可按顺序合并。以此类推,最终所有组合并为一组时,整个数列完成排序。

python 实现·十大排序算法之快速排序 (Quick Sort)
快速排序是冒泡排序的改进版,其基本思想:选一基准元素,依次将剩余元素中小于该基准元素的值放置其左侧,大于等于该基准元素的值放置其右侧;然后,取基准元素的前半部分和后半部分分别进行同样的处理;以此类推,直至各子序列剩余一个元素时,即排序完成。

python 实现·十大排序算法之插入排序 (Insertion Sort)
插入排序(Insertion Sort)是一种简单直观的排序算法。它的工作原理是:通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

python 实现·十大排序算法之选择排序 (Selection Sort)
选择排序是一种简单直观的排序算法。它的工作原理是:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完成。

python 实现·十大排序算法之冒泡排序 (Bubble Sort)
冒泡排序是经典排序算法之一,属于交换排序的一种,基本的排序思路是:从头开始两两元素进行比较,大的元素就往上冒,这样遍历一轮后,最大的元素就会直接筛选出来。然后再重复上述操作,即可完成第二大元素的冒泡。以此类推,直到所有的元素排序完成。