基本排序(1)Swift

作者: icbbetter | 来源:发表于2017-01-18 10:11 被阅读260次

代码地址

冒泡排序(Bubble Sort)

算法实现:

  1. 比较相邻元素,根据条件(大小)交换位置。
  2. 从第一个元素开始,依次重复步骤1
  3. 重复根据元素数量,重复以上步骤,直到排序完成。
20170117148465503587845.png

算法分析:

  1. 数据量为n,时间复杂度为n * (n-1) * 0.5,则为O(n²)。

简单选择排序(Simple Selection Sort)

算法实现:

  1. 在未排序的数据中,找到最小(最大)的跟第一个数据交换位置。
  2. 重复以上步骤,直到排序完成。
20170117148465506255123.png

算法分析:

  1. 时间复杂度为O(n²)。

直接插入排序算法(Straight Insertion Sort)

算法实现:

  1. 取第一个的未排序的元素。
  2. 依次往前对比,插入适合的位置。
  3. 以第一元素为已经排序,开始重复步骤1,2直到排序完成
20170117148465374599240.png

算法分析:

  1. 时间复杂度为O(n²)。

希尔排序算法(Shell Sort)

算法实现:

  1. 定义一个步调(gap),根据步调把数据分成组。
  2. 对每一组进行插入排序。
  3. 缩小步调,重复以上步骤,直到步调为1,完成排序。
20170117148465558671801.png

算法分析:

  1. 时间复杂度为O(nlogn)。

相关文章

网友评论

    本文标题:基本排序(1)Swift

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