1.最快的排序算法:快速排序(不稳定)

每次找基准(一般选第一个),将数组分为大于基准和小于基准两块,然后对每一块递归,直到只剩一个元素,然后返回 左+中+右

2.归并排序


3.冒泡排序

最简单的 o(n2)复杂度,稳定的,、
两两比较,不对就交换

4.堆排序 (不稳定)

讲的比较好
https://www.bilibili.com/video/av18980178?from=search&seid=3518072115040122033
先看视频,再看代码:
https://www.jb51.net/article/139922.htm

5、选择排序 (不稳定)

声明一个变量min_index等于列表的第一个坐标值0

从第一个位置0坐标开始,和它后边所有的元素一一比对,如果发生了后边的值min_index坐标的对应的值更小,则min_index值改为后边那个数的坐标,然后用min_index坐标对应的值再跟后边的数比较,完成全部比对以后,将列表的第一个数和min_index坐标对应的数做一个交换

第一次用6和5比较,5小,min_index改为1,用5和后边的4比,4小,min_index改为2,用4跟3比,3小,min_index改为3,用3跟2比较,2小,min_index改为4,用2和1比较,1小,min_index改为5,比完了,把坐标5对应的值和第一个值交换

min_index=5

a=[1, 5, 4, 3, 2, 6],最小的1放到最前边,

第二步:从坐标1开始,把刚才的逻辑再来一遍:

a=[1, 2, 4, 3, 5, 6]

第三步:从坐标2开始,把刚才的逻辑再来一遍

a=[1, 2, 3, 4, 5, 6]

第四步:从坐标3开始,把刚才的逻辑再来一遍

a=[1, 2, 3, 4, 5, 6]

第五步:从坐标4开始,把刚才的逻辑再来一遍

a=[1, 2, 3, 4, 5, 6]

6.插入排序

插入排序原理很简单,讲一组数据分成两组,我分别将其称为有序组与待插入组。
每次从待插入组中取出一个元素,与有序组的元素进行比较,并找到合适的位置,
将该元素插到有序组当中。就这样,每次插入一个元素,有序组增加,待插入组减少。
直到待插入组元素个数为0。当然,插入过程中涉及到了元素的移动。

6大常见排序算法 python实现相关推荐

  1. 希尔排序的详细过程_算法系列: 10大常见排序算法(4)希尔排序

    本课程是从少年编程网转载的课程,目标是向中学生详细介绍计算机比赛涉及的编程语言,数据结构和算法.编程学习最好使用计算机,请登陆 www.3dian14.org (免费注册,免费学习). 一句 希尔排序 ...

  2. 数据结构十大经典排序算法--Python

    十大经典排序算法 (java实现看这个)https://program.blog.csdn.net/article/details/83785159 名词解释: 1.冒泡排序 2.选择排序 3.插入排 ...

  3. 十大经典排序算法Python版实现(附动图演示)

    来源:大数据DT 本文约5200字,建议阅读10分钟 排序算法是<数据结构与算法>中最基本的算法之一.本文介绍10种常见的内部排序算法,及如何用Python实现. 排序算法可以分为内部排序 ...

  4. list 排序_十个必知的排序算法|Python实例系列

    十大排序: 1.冒泡排序2.选择排序3.插入排序4.希尔排序5.归并排序6.快速排序7.堆排序8.计数排序9.桶排序10.基数排序 完整代码和注释如下 # -*- coding: UTF-8 -*-# ...

  5. python实现常见排序算法

    python实现常见排序算法 快速排序 思想:取出第一个元素把它放到序列的中间某一个正确位置,以它进行分割成左边和右边,再分别对左边和右边进行取元素分割(递归) 递归实现 def quicksort( ...

  6. python常见排序算法解析

    python--常见排序算法解析 算法是程序员的灵魂. 下面的博文是我整理的感觉还不错的算法实现 原理的理解是最重要的,我会常回来看看,并坚持每天刷leetcode 本篇主要实现九(八)大排序算法,分 ...

  7. 十大经典排序算法4(Python版本)

    文章目录 六.快速排序 六.快速排序 1.快速介绍 快速排序是由东尼·霍尔所发展的一种排序算法.在平均状况下,排序 n 个项目要 Ο(nlogn) 次比较.在最坏状况下则需要 Ο(n2) 次比较,但这 ...

  8. 十大经典排序算法1(Python版本)

    文章目录 一.排序算法与时间复杂度 二.冒泡排序 一.排序算法与时间复杂度 1.十大排序算法 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次 ...

  9. 按复杂度有效性递减排序_十大经典排序算法:python源码实现,通俗深入讲解

    概述 提示:本文上万字,陆陆续续疏理知识点加测试代码,耗时近一个月.阅读时长40分钟左右. 本文将十大经典排序算法进行汇总,从源码实现.复杂度.稳定性进行分析,并对每种排序的特性进行点评.对典型算法, ...

  10. python经典排序_python实现十大经典排序算法

    写在前面 本文参考十大经典排序算法(动图演示),这篇文章有动图显示,介绍的很详细.本文是部分内容有借鉴此博客,用python实现,有一些改进. 各种算法的时间.空间复杂度 1.冒泡排序 1.比较相邻的 ...

最新文章

  1. 1. 文件系统——磁盘分区、各目录功能、硬盘
  2. PHP中 base64_decode与base64_encode加密解密函数
  3. ubuntu18.10无法ping百度
  4. 漏洞:Client ReDos From Regex Injection
  5. 使用Sqlserver事务发布实现数据同步
  6. VMware Workstation安装虚拟机失败
  7. Hibernate二级缓存存集合对象
  8. 手机扣费软件大曝光 金山手机卫士帮您免费检测
  9. Xml和Tomcat
  10. ASP.NET 分页技术
  11. 基于python快速实现排列组合算法
  12. 瑞星杀毒软件 奇虎360杀毒软件 360卫士 百度卫士联手,搞不定弹出广告 恶意广告图标
  13. 前端Docker教程
  14. ICML 2022 | 稀疏双下降:网络剪枝也能加剧模型过拟合?
  15. 厦大C语言上机1378
  16. python opencv resize函数_python cv2.resize函数high和width注意事项说明
  17. Linux日志怎么分析
  18. Android App加载图片内存空间计算
  19. 以下html标记语言表示网页标题的标记是,第8章 HTML标记语言.ppt
  20. SRM供应商协同管理系统功能介绍

热门文章

  1. MFC 序列化的理解及困惑点
  2. Java并发编程实战之基于生产者消费者模式的日志服务读书笔记
  3. 计算机解决的气象复杂问题,自动气象站更换时计算机遇到的疑难问题及解决办法...
  4. Flink 如何支持特征工程、在线学习、在线预测等 AI 场景?
  5. View.Post()保证UI带你装逼带你飞
  6. Android支付实践(三)之银联支付功能(客户端+服务端)
  7. android下在屏幕适配小总结
  8. ad怎么导入cad的外形尺寸_EPLAN与传统CAD的性能比较分析
  9. java为什么要设计包装类_Java 为什么需要包装类
  10. java项目在本地部署_jenkins部署java项目在本地(三)