基本排序(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