Python排序算法之选择排序定义与用法示例


Posted in Python onApril 29, 2018

本文实例讲述了Python排序算法之选择排序定义与用法。分享给大家供大家参考,具体如下:

选择排序

选择排序比较好理解,好像是在一堆大小不一的球中进行选择(以从小到大,先选最小球为例):

1. 选择一个基准球

2. 将基准球和余下的球进行一一比较,如果比基准球小,则进行交换

3. 第一轮过后获得最小的球

4. 在挑一个基准球,执行相同的动作得到次小的球

5. 继续执行4,直到排序好

时间复杂度:O(n^2).  需要进行的比较次数为第一轮 n-1,n-2....1, 总的比较次数为 n*(n-1)/2

直接上代码:

def selectedSort(myList):
  #获取list的长度
  length = len(myList)
  #一共进行多少轮比较
  for i in range(0,length-1):
    #默认设置最小值得index为当前值
    smallest = i
    #用当先最小index的值分别与后面的值进行比较,以便获取最小index
    for j in range(i+1,length):
      #如果找到比当前值小的index,则进行两值交换
      if myList[j]<myList[smallest]:
        tmp = myList[j]
        myList[j] = myList[smallest]
        myList[smallest]=tmp
    #打印每一轮比较好的列表
    print("Round ",i,": ",myList)
myList = [1,4,5,0,6]
print("Selected Sort: ")
selectedSort(myList)

执行结果:

Python排序算法之选择排序定义与用法示例

Python 相关文章推荐
分析python服务器拒绝服务攻击代码
Jan 16 Python
Python break语句详解
Mar 11 Python
在类Unix系统上开始Python3编程入门
Aug 20 Python
TensorFlow实现RNN循环神经网络
Feb 28 Python
python ubplot使用方法解析
Jan 10 Python
Python递归及尾递归优化操作实例分析
Feb 01 Python
Python中文分词库jieba,pkusegwg性能准确度比较
Feb 11 Python
解决Django响应JsonResponse返回json格式数据报错问题
Aug 09 Python
Python+OpenCV图像处理—— 色彩空间转换
Oct 22 Python
解决pycharm修改代码后第一次运行不生效的问题
Feb 06 Python
python 30行代码实现蚂蚁森林自动偷能量
Feb 08 Python
python自动化调用百度api解决验证码
Apr 13 Python
Python实现的直接插入排序算法示例
Apr 29 #Python
Python实现的堆排序算法示例
Apr 29 #Python
Python中实现变量赋值传递时的引用和拷贝方法
Apr 29 #Python
分享一下Python数据分析常用的8款工具
Apr 29 #Python
Python随机函数random()使用方法小结
Apr 29 #Python
Python中py文件引用另一个py文件变量的方法
Apr 29 #Python
python实现类之间的方法互相调用
Apr 29 #Python
You might like
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
php入门学习知识点一 PHP与MYSql连接与查询
2011/07/14 PHP
php删除与复制文件夹及其文件夹下所有文件的实现代码
2013/01/23 PHP
解析PHP跨站刷票的实现代码
2013/06/18 PHP
服务器上配置PHP运行环境教程
2015/02/12 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
PHP实现的数组和XML文件相互转换功能示例
2018/03/15 PHP
json属性名为什么要双引号(个人猜测)
2014/07/31 Javascript
JavaScript中5种调用函数的方法
2015/03/12 Javascript
jQuery实现点击小图显示大图代码分享
2015/08/25 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
2017/04/20 Javascript
jQuery复合事件用法示例
2017/06/10 jQuery
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
详解一个小实例理解js原型和继承
2019/04/24 Javascript
PHP读取远程txt文档到数组并实现遍历
2020/08/25 Javascript
python判断、获取一张图片主色调的2个实例
2014/04/10 Python
Python基于正则表达式实现检查文件内容的方法【文件检索】
2017/08/30 Python
Numpy中的mask的使用
2018/07/21 Python
详解Python进阶之切片的误区与高级用法
2018/12/24 Python
python简单贪吃蛇开发
2019/01/28 Python
python2.7的flask框架之引用js&amp;css等静态文件的实现方法
2019/08/22 Python
Python如何实现的二分查找算法
2020/05/27 Python
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
GAP阿联酋官网:GAP UAE
2017/11/30 全球购物
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
你对IPv6了解程度
2016/02/09 面试题
高校自主招生自荐信
2013/12/09 职场文书
项目管理计划书
2014/01/09 职场文书
社区党员志愿服务活动方案
2014/08/18 职场文书
上课说话检讨书500字
2014/11/01 职场文书
2015年入党决心书
2015/02/05 职场文书
如何把新闻人物写得立体、鲜活?
2019/08/14 职场文书
2021年最新用于图像处理的Python库总结
2021/06/15 Python
Javascript设计模式之原型模式详细
2021/10/05 Javascript
鸿蒙3.0体验感怎么样? 鸿蒙3.0系统评测向
2022/08/14 数码科技