美文网首页
iOS_基本算法总结-选择排序

iOS_基本算法总结-选择排序

作者: 83c11ad52c96 | 来源:发表于2019-12-30 17:26 被阅读0次

1.在viewDidLoad 里面加入以下两行代码,就可以得到结果

NSMutableArray*arr = [[NSMutableArrayalloc]initWithArray:@[@16,@1,@2,@9,@7,@12,@5,@3,@8,@13,@10]];

1.排序思想

第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;

第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换;

以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,将它与r[i]交换,使有序序列不断增长直到全部排序完毕。

实际每一趟直接找到i对应数组下标的准确位置

所以他的时间复杂度为O(n2);

从选择排序的过程来看,它最大的特点就是交换移动数据次数相当少,节约了相应的时间。分析它的时间复杂度发现,无论最好最差情况,其比较次数是一样多的 n-1 + n-2 + ... + 1 = n(n-1)/2。而对于交换次数而言,最好的时候交换为0次,最差的时候,为n-1次,基于最终的排序时间是比较与交换的次数总和,因此,总的时间复杂度为O(n²)。

相关文章

  • iOS_基本算法总结-选择排序

    1.在viewDidLoad 里面加入以下两行代码,就可以得到结果 NSMutableArray*arr = [[...

  • iOS_基本算法总结_快速排序

    1.在viewDidLoad 里面加入以下两行代码,就可以得到结果 NSMutableArray*arr = [[...

  • iOS_基本算法总结_冒泡排序

    1.在viewDidLoad 里面加入以下两行代码,就可以得到结果 NSMutableArray*arr = [[...

  • 【算法-排序算法-基本排序算法】

    在快速排序算法总结的时候,介绍过基本排序算法包括选择排序、冒泡排序和插入排序。本章把他们三个放在一起总结一下 冒泡...

  • 面试基础算法复习

    排序算法 选择排序、冒泡排序、插入排序三种排序算法可以总结为如下:都将数组分为已排序部分和未排序部分。选择排序将已...

  • 排序算法

    排序算法 排序是最基本的算法之一,常见的排序算法有插入排序、希尔排序、选择排序、冒泡排序、堆排序、归并排序及快速排...

  • Swift的十大经典排序算法总结

    Swift的十大经典排序算法总结 排序算法是《数据结构与算法》中最基本的算法之一。排序算法可以分为内部排序和外部排...

  • 数据结构+算法

    排序算法 基本排序:冒泡、选择、插入 高级排序希尔、归并、快速 检索算法 顺序查找、二分查找 高级算法 动态规划斐...

  • 选择、冒泡、快排、归并、桶排序

    几种排序算法总结: 选择排序-简单选择排序 基本思想:在要排序的一组数中,选出最小的一个数与第1个位置的数交换;然...

  • 算法-选择排序

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

网友评论

      本文标题:iOS_基本算法总结-选择排序

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