排序算法

0 人感兴趣 · 17 次引用

  • 推荐
  • 最新
https://static001.geekbang.org/infoq/24/24ecf858d09cd1407d10bf8f8a3d0648.png?x-oss-process=image/resize,w_416,h_234

算法基础:排序算法看这一篇就够了

用户头像
公众号:好奇心森林 2020 年 6 月 13 日

本文作者:sytyale,另外一个聪明好学的同事

https://static001.geekbang.org/infoq/96/964d8446c38ed11dd09e77496d7ada83.png?x-oss-process=image/resize,w_416,h_234

八个排序的原理、Java 实现以及算法分析

用户头像
多选参数 2020 年 7 月 21 日

8 种最经典、最常用的排序算法(冒泡排序、插入排序、选择排序、归并排序、快速排序、桶排序、计数排序、基数排序)的基本原理、Java 实现以及算法分析(时间复杂度、空间复杂度、是否稳定)。

https://static001.geekbang.org/infoq/8f/8fed4cad487bc6028e546be52c47556c.jpeg?x-oss-process=image/resize,w_416,h_234

JAVA 算法

用户头像
Bruce Duan 2020 年 7 月 20 日

又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置

https://static001.geekbang.org/infoq/3e/3ef3a078e00d3bea4d5b566fb2cdd6c5.png?x-oss-process=image/resize,w_416,h_234

python 实现·十大排序算法之冒泡排序 (Bubble Sort)

用户头像
南风以南 2020 年 5 月 21 日

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

如何把百万级别的订单根据金额排序

用户头像
码哥字节 2020 年 7 月 13 日

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

https://static001.geekbang.org/infoq/c1/c1fdd23ce7788c7bc685700b7885e1e6.png?x-oss-process=image/resize,w_416,h_234

python 实现·十大排序算法之归并排序 (Merge Sort)

用户头像
南风以南 2020 年 5 月 25 日

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

https://static001.geekbang.org/infoq/de/dee42b15bf30a79ef531c52a54191cc1.jpeg?x-oss-process=image/resize,w_416,h_234

Java 七种排序算法以及实现

用户头像
狸猫换太子 2020 年 7 月 31 日

最近学习一些排序算法,怕自己以后忘记就打算整理起来供自己复习

https://static001.geekbang.org/infoq/f9/f97c9312a3b225a9a06a474dec94b99c.png?x-oss-process=image/resize,w_416,h_234

python 实现·十大排序算法之基数排序 (Radix Sort)

用户头像
南风以南 2020 年 5 月 29 日

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

https://static001.geekbang.org/infoq/e0/e03f83631f0f017ed676393aceb40bfb.png?x-oss-process=image/resize,w_416,h_234

python 实现·十大排序算法之桶排序 (Bucket Sort)

用户头像
南风以南 2020 年 5 月 30 日

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

https://static001.geekbang.org/infoq/e9/e90cc9bf6f48e089d3e51b4348f50f69.png?x-oss-process=image/resize,w_416,h_234

python 实现·十大排序算法之选择排序 (Selection Sort)

用户头像
南风以南 2020 年 5 月 22 日

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

https://static001.geekbang.org/infoq/31/31c019cc1701ad063770bb5512fc7d51.png?x-oss-process=image/resize,w_416,h_234

python 实现·十大排序算法之插入排序 (Insertion Sort)

用户头像
南风以南 2020 年 5 月 23 日

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

https://static001.geekbang.org/infoq/4c/4c1aea4dcdb5167bf6cba8645430c899.jpeg?x-oss-process=image/resize,w_416,h_234

看动画学算法之: 排序 - 冒泡排序

用户头像
程序那些事 2020 年 7 月 12 日

排序可能是所有的算法中最最基础和最最常用的了。排序是一个非常经典的问题,它以一定的顺序对一个数组(或一个列表)中的项进行重新排序。

https://static001.geekbang.org/infoq/ed/ed7480d15e61824428e64532fd9c61ae.png?x-oss-process=image/resize,w_416,h_234

python 实现·十大排序算法之快速排序 (Quick Sort)

用户头像
南风以南 2020 年 5 月 23 日

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

https://static001.geekbang.org/infoq/1b/1b6916404b45b210a0d4d55c6786614f.png?x-oss-process=image/resize,w_416,h_234

python 实现·十大排序算法之希尔排序 (Shell Sort)

用户头像
南风以南 2020 年 5 月 26 日

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

https://static001.geekbang.org/infoq/56/5696f4aaf47d5b59582bd3dd400701f7.png?x-oss-process=image/resize,w_416,h_234

python 实现·十大排序算法之堆排序 (Heap Sort)

用户头像
南风以南 2020 年 5 月 27 日

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

https://static001.geekbang.org/infoq/09/09cecff9cb5d8a038af21036bef139c0.png?x-oss-process=image/resize,w_416,h_234

python 实现·十大排序算法之计数排序 (Counting Sort)

用户头像
南风以南 2020 年 5 月 28 日

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

排序算法_排序算法资料文章-InfoQ写作平台