用户头像

南风以南

南风以南

2018.11.12 加入

石油开发系研究生
关注
  • 10

    发布数

  • 0

    关注者

  • 0

    关注了

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

南风以南