选择排序:
长度为N的数组
1)看0~N-1;看N次;(第一个与第一个比较,选择最小值;第二个和最小值比较,以此类推)比较N次,交换一次;
结果:最小的放到第一位上;
2)看1~N-1:看N-1次;比较N-1次;交换一次;
结果;最小的放到第二位;
3)以此类推直至最后一次,全部比较完成;

时间复杂度为:
看:N+(N-1)+(N-2)+······+1
比较:N+(N-1)+(N-2)+······+1
交换:N
求和为一个二次型多项式,因为等差数列求和会出现二次型;
最终时间复杂度为O(N²)

选择排序的时间复杂度相关推荐

  1. 数据结构第一课:希尔排序和选择排序的时间复杂度随机数组的生成

    随机生成数组 #include <iostream> #include <algorithm> #include<ctime> #include<time.h ...

  2. 简单选择排序,时间复杂度+空间复杂度+稳定性+亲测java代码

    直接上代码,看注释就能懂 时间复杂度: 最优O(n^2), 最坏时间复杂度为 O(n^2) , 平均时间复杂度为O(n^2) . 空间复杂度:O(1). 不稳定 package sort;public ...

  3. 内排序及时间复杂度分析-插入排序选择排序交换排序归并排序分配和索引排序对比...

    基本概念 什么是排序? 排序 将序列中的记录按照排序码顺序排列起来 排序码域的值具有不减(或不增)的顺序 内排序 整个排序过程在内存中完成 给定一个序列 R = { r1, r2, ...,rn } ...

  4. 经典算法学习——直接选择排序

    直接选择排序和直接插入排序相似,都将数据分为有序区和无序区,所不同的是直接插入排序是将无序区的第一个元素直接插入到有序区以形成一个更大的有序区.而直接选择排序是从无序区选一个最小的元素直接放到有序区的 ...

  5. 面试官:你都工作3年了,连选择排序法都不会,我怎么能选择你

    面试时,算法经常会遇到,特别是一些常见的算法. 张工毕业3年了,一直在一家创业公司做python开发,最近到某知名互联网公司面试,做了笔试题后,面试官看了觉得还不错,于是想进一步考察张工的编码能力,就 ...

  6. 排序算法---选择排序(java版)

    简单选择排序 原理 选择排序(Selection Sort)的原理有点类似插入排序,也分已排序区间和未排序区间.但是选择排序每次会从排序区间中找到最小的元素,将其放到已排序区间的末尾. 简单选择排序执 ...

  7. JS-排序详解:冒泡排序、选择排序和快速排序

    JS-排序详解-冒泡排序 说明 时间复杂度指的是一个算法执行所耗费的时间 空间复杂度指运行完一个程序所需内存的大小 稳定指,如果a=b,a在b的前面,排序后a仍然在b的前面 不稳定指,如果a=b,a在 ...

  8. 【数据结构-排序】3.图解选择排序两种实现(简单选择排序/堆排序)

    简单选择排序(选择排序) 排序思想 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置 然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾. 以此类推,直到所有元素 ...

  9. 图解排序算法之谈「选择排序」

    1. 基本思想 选择排序(Select Sort)同样是最基础的排序算法之一,它的核心思想是:将要排序的序列分成有序和无序两个部分,开始时有序部分为空,然后经过 n - 1 次遍历,每次遍历都在无序部 ...

  10. python算法与数据结构-选择排序算法(33)

    阅读目录 一.选择排序的介绍 二.选择排序的原理 三.选择排序的图解 四.选择排序总结 五.选择排序的python代码实现 六.选择排序的C语言代码实现 七.选择排序的时间复杂度 八.选择排序的稳定性 ...

最新文章

  1. 虚幻中的风格化环境制作学习教程
  2. COM:中科院遗传发育所发表“重组菌群体系在根系微生物组研究中应用”的重要综述
  3. 清华大佬手把手教你使用Python进行数据分析和可视化
  4. matlab画平行坐标轴的直线
  5. android onNewIntent
  6. git 32位_编译64位的BorderlessGaming
  7. eclipse搭建maven开发环境
  8. hdoj 1114 Piggy-Bank(完全背包+dp)
  9. 不止 Java,Oracle 向 JavaScript 开炮!
  10. TX2Ubuntu16.04远程登录
  11. Spring 在xml配置里配置事务
  12. 一个分组查询的SQL 常用算法(附源码可直接执行)
  13. JSON字符串,JSON对象的相互转换
  14. 数据库学生管理系统课程设计
  15. 手游CP说:产品做出来了,我们该怎么办?
  16. java ssh框架搭建_SSH框架基础搭建
  17. 水库大坝安全监测系统解决方案
  18. Aladdin and the Flying Carpet LightOJ - 1341
  19. 工业级POE交换机、企业级交换机、普通交换机之间各区别?
  20. vue 去掉黄色警告

热门文章

  1. 生物力学有限元Mimics/ANSYS
  2. Sql Server 2005 64位安装包
  3. 前端缓存之HTTP缓存(二)
  4. MySQL随机函数的运用场景示例总结
  5. java 解析ttf字体文件_stb_truetype解析ttf字体并将其保存到图片中
  6. 【git】从零开始在git上部署自己的免费生日祝福网页
  7. 最佳的75个安全检测工具
  8. VBoxGuestAdditions.iso下载地址
  9. 登录验证----滑块/拼图碎片/随机num
  10. (第3章)Docker核心原理解读