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

时间复杂度::

  平均:O(n^2)

  最坏:O(n^2)

  最好:O(n^2)

空间复杂度:O(1)

稳定性:不稳定(三个简单排序中唯一一个不稳定的算法,也是最好最坏情况一样复杂的一个,其他两个最优情况都是O(n))

转载于:https://www.cnblogs.com/mengxiangtiankongfenwailan/p/11341093.html

数据结构之排序五:选择排序相关推荐

  1. 数据结构与算法:选择排序

    数据结构与算法:选择排序 雪柯 大工生物信息 提笔为写给奋进之人 已关注 8 人赞同了该文章 引用自算法图解,作者[美] Aditya Bhargava 译袁国忠 特别备注:本书非原创,但部分内容自己 ...

  2. 数据结构与算法之选择排序

    数据结构与算法之选择排序 目录 基本介绍 选择排序思想 代码实现 1. 基本介绍 选择排序也属于内部排序法,是从排序的数据中,按指定的规则选出某一元素,再依次交换位置后达到排序的目的 2. 选择排序思 ...

  3. 数据结构与就算法(选择排序)

    数据结构与就算法(选择排序) 数据!您好 2019-01-07 05:16:18 2736 收藏 17 版权 1>什么是选择排序,选择排序和插入排序的思想差不多,也分已排序区间和未排序区间,只是 ...

  4. 数据结构—排序算法总结(插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序、合并排序、计数排序)

    *排序 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作. 稳定性 在待排序的数组中,如果出现多个相同的关键字,例如:98751555512,中出现重复的数字,在 ...

  5. 数据结构与算法 | 直接选择排序、双向选择排序

    前几章讲了交换排序中较为复杂切高效的堆排序,这次就来讲讲选择排序中最简单的直接选择排序及其改进双向选择排序. 选择排序:顾名思义,就是主要通过选择来完成的排序,每一趟从待排数据中选择一个最大或者最小的 ...

  6. 【恋上数据结构】冒泡排序、选择排序、堆排序

    冒泡.选择.堆排序 前言 冒泡排序 冒泡排序-优化1 冒泡排序-优化2 复杂度与稳定性 选择排序 复杂度与稳定性 堆排序 堆排序图解 堆排序实现 复杂度与稳定性 经典的十大排序算法! 前言 请务必看一 ...

  7. C语言——十四种内部排序算法【直接插入排序-冒泡排序-选择排序-插入排序-希尔排序-归并排序-快速排序-堆排序-折半插入排序-二分查找-路插入排序-表插入排序-简单选择排序-直接选择排序-树形选择】

    目录: 一:插入排序 A:直接插入排序 1.定义: 2.算法演示 实例1: 3.基本思想 4.排序流程图 实例1: B:希尔排序 1.定义: 2.算法演示 实例2: C:其他插入排序 a:折半插入排序 ...

  8. 八大排序:冒泡排序、插入排序、希尔排序、选择排序、堆排序、归并排序、快速排序、基数排序

    [前言] 所有代码段都以升序为例,数组下标从0开始.排序的稳定性即:任意两个相等的数据,排序前后的相对位置不发生变化. [冒泡排序(Bubble Sort)] 它重复地访问过要排序的元素序列,依次比较 ...

  9. C语言排序算法 选择排序 插入排序 快速排序 qsort实现快排 堆排序

    常见排序算法 选择排序 选择排序(Selection sort)是一种简单直观的排序算法. 它的工作原理如下. 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素 ...

  10. 【02】Java进阶:09-冒泡排序、选择排序、二分查找、异常、异常的产生和处理、自定义异常、多线程

    day09[排序算法.异常.多线程基础] 今日内容 冒泡排序 选择排序 二分查找 异常处理 多线程基础 教学目标 能够理解冒泡排序的执行原理 能够理解选择排序的执行原理 能够理解二分查找的执行原理 能 ...

最新文章

  1. UINavigationItem的titleView的frame问题
  2. android广告平台的介绍
  3. Spring中Bean的作用域都有哪些?
  4. 【渝粤教育】电大中专会计电算化 (2)作业 题库
  5. 集成方法(随机森林)
  6. leetcode LRUCache题目
  7. mysql如何用alter创建索引_MySQL使用ALTER TABLE创建索引
  8. 通用阿里云的短信验证码(详细)
  9. 移动硬盘插入提示需要格式化RAW_Macbook无法识别移动硬盘?!不仅仅因为硬盘格式问题...
  10. R语言作图——Lollipop chart(棒棒糖图)
  11. Ubuntu20.04+Nvidia RTX 3060 显卡驱动安装
  12. js鸡兔同笼35个头94只脚用 鸡有多少只兔有多少只?
  13. 云服务器面临的问题_无服务器安全面临的多方面威胁以及我们应如何应对
  14. 【数据结构】单链表逆序
  15. [附源码]Python计算机毕业设计大学生健康管理系统的设计与实现
  16. ACL’21 | 对话系统也要进军多模态了!
  17. AR的昨天、今天和明天
  18. 【FPGA学习笔记】Verilog语言中的或(|和||)
  19. 3月二手住宅市场缓慢回温
  20. Linux平台C语言解析HttpResponse(http协议)

热门文章

  1. css鼠标移入线条延中心伸长,css动画效果:鼠标移上去底部线条从中间往两边延伸 - 子成君-分享出去,快乐加倍!-旧版已停更...
  2. triplet loss后面不收敛_你的神经网络真的收敛了么?
  3. concurrenthashmap_ConcurrentHashMap是如何保证线程安全的
  4. C++ 11 深度学习(三)范围for、new内存动态分配、nullptr
  5. python2.7.10安装教程_Linux系统(CentOS)下python2.7.10安装
  6. 初学者选黑卡还是微单_明日之镜 十年索尼微单和他的镜头王国
  7. python系统状态_python实现系统状态监测和故障转移实例方法
  8. oracle添加表的索引,oracle批量添加指定表前缀的索引SQL语句
  9. html中可以有两个h1,在一个HTML中h1标签能出现几次?h1标签和标题标签
  10. idea 自动生成mybaits_怎么让idea自动创建mybatis配置文件