public static int[] selectionSort(int[] array){    if (array.length == 0) return array;    for(int i =0;i<array.length;i++){         int min = i;         int temp;         for(int j = i;j<array.length;j++){             //内循环             //寻找最小值             if(array[j] <array[min]){                 min = j;             }         }         //最小值和i进行交换         temp = array[min];         array[min] = array[i];         array[i] = temp;    }    return array;}

首先,我还是给你看一张选择排序的流程图吧。

其实整体的思路,小k已经说得差不多了。我给大家再整理一下步骤

  1. 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置

  2. 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。

  3. 重复第二步,直到所有元素均排序完毕。

当我们用到它的时候,数据规模越小越好,不会占用额外的内存空间并且运行时间与输入无关。理论上讲,选择排序可能也是平时排序一般人想到的最多的排序方法了吧。

选择排序的交换总次数是N,因为交换元素的代码是放在内循环之外的,所以算法的时间效率取决于比较的次数

文终


推荐好文:

  • 漫画:冒泡排序最牛逼的状态!

  • 小白学Django第六天| 一文快速搞懂模板的使用

  • 【吐血整理】2019年所有精品文章分类汇总!必收藏!

python快速排序最简单写法_漫画:最最最最最简单的选择排序相关推荐

  1. matlab watershed函数简单实现_函数指针方法实现简单状态机(附代码)

    之前写过一篇状态机的实用文章,很多朋友说有几个地方有点难度不易理解,今天给大家换种简单写法,使用函数指针的方法实现状态机. 状态机简介 有限状态机FSM是有限个状态及在这些状态之间的转移和动作等行为的 ...

  2. python快速排序最简单写法_面试官:来,这位精神小伙,简简单单写个快速排序吧...

    当你的才华还撑不起你的野心时,你应该静下心去学习 . 面试现场,终于到了紧张刺激的手撕代码环节,你忐忑的心情随着考官的一句话归于平静. 你简直不敢相信眼前这个穿着格子衬衫,牛仔裤角有些发白,头发在风中 ...

  3. python线性回归分析看相关性_机器学习入门-相关分析之简单线性回归

    一.什么是机器学习? 简单来说,机器学习是一类算法的总称,这些算法企图从大量历史数据中挖掘出其中隐含的规律,并用于预测或者分类,更具体的说,机器学习可以看作是寻找一个函数,输入是样本数据,输出是期望的 ...

  4. python简单编程语言_功能强大而又简单易学的编程语言Python

    Python是一种面向对象.直译式计算机程序设计语言,也是一种功能强大的通用型语言(维基百科).自从上次写那个批量Blast小程序的时候接触了Python,发现这个玩意儿真是好用,后来还用它弄了个动态 ...

  5. python闭包两种写法_浅析Python闭包

    一.什么是闭包python 在介绍闭包概念前,咱们先来看一段简短的代码数组 def sum_calc(*args):defwrapper(): sum=0for n inargs: sum+=n;re ...

  6. python自动生成鸡汤文_马尔可夫链文本生成的简单应用:不足20行的Python代码生成鸡汤文...

    提到自然语言的生成时,人们通常认为要会使用高级数学来思考先进的AI系统,然而,并不一定要这样.在这篇文章中,我将使用马尔可夫链和一个小的语录数据集来产生新的语录. 马尔可夫链 马尔可夫链是一个只根据先 ...

  7. 爬虫python编程与cvi编程_与爬虫无关,简单的用python进行科学运算

    1.算积分 1.1一重积分 例:如计算半圆的面积,积分公式: # -*- coding:utf-8 -*- from scipy import integrate#输入scipy的integrate函 ...

  8. python 最小二乘回归 高斯核_数据科学中最简单也最重要的算法:线性回归

    全文共1794字,预计学习时长15分钟 线性回归是数据科学中最简单也是最重要的算法.无论面试的工作领域是数据科学.数据分析.机器学习或者是量化研究,都有可能会遇到涉及线性回归的具体问题.要想熟练掌握线 ...

  9. python快速排序算法详细图解_详解python实现快速排序算法

    人来人往,蜚短流长,不求此生匆匆过,但求每日在成长 快速排序严重依赖分区,分区部分完成就代表排序成功了一半 1.详细思路见代码注释部分: def quick_sort(l,low,high): ''' ...

最新文章

  1. 重新mysql-server
  2. Python设计模式-享元模式
  3. 单片机基础课程有哪些?
  4. Jenkins +maven+tomcat自动构建部署(学习笔记三十六)
  5. Android 解析包出错问题
  6. linux驱动导出文件属性,linux驱动入门——模块参数和导出符号
  7. ASP.NET web.config
  8. 造句简单_造句游戏的心理投射:被现代心理学摒弃的网红心理游戏
  9. 大学生魏则西之死,谁该为违法广告买单?
  10. 水晶报表中对某一栏位值进行处理_终于有人讲清楚了,BI和报表的差异!
  11. 这样让你的采集内容变原创seo出来的伪原创
  12. 【优化算法】混合蛙跳优化算法(SFLA)【含Matlab源码 1472期】
  13. 大数据生态与Spark简介
  14. (附源码)计算机毕业设计SSM久宠宠物店管理系统
  15. 百度云盘停止服务器,又一家网盘关闭!不要再问为什么百度网盘要收费了
  16. XSS 防御方法总结
  17. 七年级计算机基本结构,七年级信息技术计算机基本组成和工作原理
  18. 多元统计分析及R语言建模
  19. Windows 7安装ATI驱动
  20. Centos7 jdk8,Tomcat9的安装与配置

热门文章

  1. 解决fatal: 不是一个 git 仓库(或者任何父目录)的方法
  2. Python生成器与迭代器详细教程
  3. 通Python实现操作 excel表格 工作效率提升百倍
  4. Python笔记:日期时间获取与转换
  5. python 的String,集合(List,元组,Dict)
  6. Python os.path路径模块中的操作方法总结
  7. web.xml隐藏html,web.xml
  8. centos 6.5配置php,CentOS 6.5安装php5.6
  9. pycharm如何标记代码?创建代码标签?创建数字标签?收藏代码标签
  10. 英语 常用表达方法搜集