美文网首页
Python排序算法有哪几种?

Python排序算法有哪几种?

作者: 六星源课堂 | 来源:发表于2022-07-20 09:23 被阅读0次

python排序算法有哪些?python中常见的排序算法有:插入排序、选择排序、冒泡排序、快速排序、归并排序、希尔排序等十种,接下来我们一起来看看详细的内容介绍。

 第一种:插入排序

从第二个元素开始和前面的元素进行比较,如果前面的元素比当前元素大,则将前面元素后移,当前元素依次往前,直到找到比它小或等于它的元素插入在其后面,然后选择第三个元素,重复上述操作,进行插入,依次选择到最后一个元素,插入后即完成所有排序。

 第二种:选择排序

设第一个元素为比较元素,依次和后面的元素比较,比较完所有元素找到最小的元素,将它和第一个元素互换,重复上述操作,我们找出第二小的元素和第二个位置的元素互换,以此类推找出剩余最小元素将它换到前面,即完成排序。

  第三种:冒泡排序

冒泡排序也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢浮到数列的顶端。

 第四种:快速排序

快速排序使用分治法策略来把一个序列分为较小和较大的2个子序列,然后递归地排序两个子序列。

 第五种:归并排序

归并排序是创建在归并操作上的一种有效的排序算法,该算法是采用分治法的一个非常典型的应用。

分治法:

分割:递归地把当前序列平均分割成两半

集成:在保持元素顺序的同时将上一步得到的子序列集成到一起(归并)

第六种:希尔排序

希尔排序是基于插入排序改进后的算法,因为当数据移动次数太多时会导致效率低下。所以我们可以先让数组整体有序(刚开始移动的幅度大一点,后面再小一点),这样移动的次数就会降低,进而提高效率。

 第七种:基数排序

基数排序属于分配式排序,又称桶子法或者bin sort,顾名思义,它是透过键值的部分资讯,将要排序的元素分配至某些桶中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度O(nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的稳定性排序法。

  第八种:计数排序

计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。

 第九种:堆排序

堆排序是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。

 第十种:桶排序

为了节省空间和时间,我们需要指定要排序的数据中最小以及最大的数字的值,来方便桶排序算法的运算。

以上就是本次分享的全部内容,想学习更多Python技巧,欢迎持续关注六星源课堂

相关文章

  • Python排序算法有哪几种?

    python排序算法有哪些?python中常见的排序算法有:插入排序、选择排序、冒泡排序、快速排序、归并排序、希尔...

  • 排序算法详细代码实现

    算法分类 算法时间复杂度 选择排序 插入排序 C++实现 Python实现 冒泡排序 Python实现 归并排序 ...

  • 360面试-C++后端(实习)

    在线远程视频面试 一面: 自我介绍。 知道哪几种排序算法,各算法的时间复杂度。 解决hash冲突的几种方式。 有哪...

  • python 排序算法

    文章概述 介绍各大常用经典的排序算法和效率,以及python实现常用算法(冒泡排序,选择排序,快速排序,插入排序)...

  • 排序算法最强总结及其代码实现(Python/Java)

    前言 本文总结了常用的全部排序算法,内容包括: 排序算法的定义和思路 排序算法的代码实现:Python和Java,...

  • 第三章:高级排序算法

    归并排序算法(mergeSort) 算法思想:Python使用函数实现: 自底向上的归并排序算法 算法思想:Pyt...

  • python实现计数排序(CountSort)

    python实现【计数排序】(CountSort) 算法原理及介绍 计数排序不是基于比较的排序算法,其核心在于将输...

  • python实现选择排序(SelectionSort)

    python实现【选择排序】 算法原理及介绍 选择排序(Selection-sort)是一种简单直观的排序算法。它...

  • 面试题汇总

    算法 1、排序都有哪几种方法? 2、最小生成树 1.Kruskal算法 此算法可以称为“加边法”,初始最小生成树边...

  • Python一行代码实现快速排序

    上期文章排序算法——(2)Python实现十大常用排序算法为大家介绍了十大常用排序算法的前五种(冒泡、选择、插入、...

网友评论

      本文标题:Python排序算法有哪几种?

      本文链接:https://www.haomeiwen.com/subject/scseirtx.html