美文网首页
选择排序算法

选择排序算法

作者: 赶赶妈 | 来源:发表于2019-07-09 14:47 被阅读0次

    1、直接选择排序
    算法思想:第 i 趟排序在待排序序列 a[i]~a[n] 中选取关键码最小的记录,并和第 i 个记录交换作为有序序列的第 i 个记录。
    其实现利用双重循环,外层 i 控制当前序列最小值存放的数组元素位置,内层循环 j 控制从 i+1 到 n 序列中选择最小的元素所在位置 k
    时间复杂度:平均、最好和最坏的时间复杂度都是O(N^2)

    #coding:utf-8
    def sort(origin_lis):
        """
        直接选择排序算法
        适用于小数据和数组基本有序的
        :param origin_lis: 排序的原始数组
        :return:
        """
        for i in range(0, len(origin_lis) - 1):
            # 标记待选择的位置
            index = i
            for j in range(i + 1, len(origin_lis)):
                # 获取选择元素的位置
                if origin_lis[j] < origin_lis[index]:
                    index = j
            # 进行交换
            if index != i:
                temp = origin_lis[i]
                origin_lis[i] = origin_lis[index]
                origin_lis[index] = temp
    
        return origin_lis
    
    
    if __name__ == '__main__':
        print sort([4,2,3,5,12,13,7,555,4,5,8,2,1,4,7])
    

    2、

    相关文章

      网友评论

          本文标题:选择排序算法

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