美文网首页
排序算法-直接选择排序

排序算法-直接选择排序

作者: 石头怪 | 来源:发表于2018-02-08 17:23 被阅读10次

直接选择排序

通过设置标志位,将标志位的数字与标志位后最小的数字进行交换,递增标志位,知道标志位到达最后一位。

代码实现

直接选择排序.png

结果

直接排序结果.png

具体过程

下面展示的是通过一个Android的程序来实现的直接选择排序的一个变化过程(数据随机生成 ,蓝色圆圈代表选中的最小,黑色代码排序好的,红色代表未排序的)


直接选择排序动画显示.gif
  • 第一趟:从第一个开始选择整个列表中最小数字5,将5与第一个数字交换。
  • 第二趟 :从第二个开始选择整个列表中最小数字9,将9与第二个数字交换。
    ......
    直到最后从小到大排完。

总结

直接选择排序的空间时间复杂度都为:O(n²),因此从效率上来讲,如果数据足够多的时候,时间效率上不会很高。但从代码算法上来看,所占用的空间小,实现简单。

另附java代码实现:


直接选择排序-java.png

相关文章

  • 2018-04-03 排序算法

    8种排序算法:按照时间复杂度分为两类 简单排序算法:冒泡排序,选择排序,直接插入排序 改进算法:希尔排序,堆排序,...

  • 2020-04-30-排序算法

    冒泡排序 直接选择排序 插入排序 快速排序 参考 算法学习笔记17-经典排序算法八大排序算法稳定性分析

  • C语言:关于数据的几种排序算法

    数据结构的排序算法有很多种。其中,快速排序、希尔排序、堆排序、直接选择排序不是稳定的排序算法;基数排序、冒泡排序、...

  • 算法

    1.常用的八个基本排序算法 -前言:希尔排序和直接插入排序属于插入排序算法,简单选择排序和堆排序属于选择排序,冒泡...

  • 算法导论阅读笔记4-快速排序

    Note:堆排序、快速排序、希尔排序、直接选择排序不是稳定的排序算法,而基数排序、冒泡排序、直接插入排序、折半插入...

  • 算法 ----排序算法

    1、排序算法有哪些? 插入排序: 直接插入排序、希尔排序选择排序: 简单选择排序、堆排序交换排序:冒泡排序、快速排...

  • 算法-选择排序

    算 法:选择排序算法时间复杂度: 选择排序算法概述 选择排序伪代码 选择排序实现 选择排序算法概述 排序算法有许...

  • 3.1-选择排序-简单选择排序

    参考链接 选择排序:简单选择排序(Simple Selection Sort) 白话经典算法系列之四 直接选择排序...

  • IOS 常用算法

    一:排序算法 排序方式有插入排序,选择排序和交换排序三种。插入排序有直接插入排序和希尔排序。选择排序有简单选择排序...

  • Java语言——数组排序算法

    数组有很多常用的算法,包括冒泡排序、直接选择排序和反转排序。 一、冒泡排序 冒泡排序是最常用的数组排序算法之一,它...

网友评论

      本文标题:排序算法-直接选择排序

      本文链接:https://www.haomeiwen.com/subject/hxbttftx.html