selection sort DEMO(linear complexity)

转载 2015年07月09日 08:46:08
#quote from MIT 'introduction to computation and programming using python, Revised'
def selSort(L):
    """Assumes that L is a list of elements that can be
         compared using >.
       Sorts L in ascending order"""
    suffixStart = 0
    while suffixStart != len(L):
        #look at each element in suffix
        for i in range(suffixStart, len(L)):
            if L[i] < L[suffixStart]:
                #swap position of elements
                L[suffixStart], L[i] = L[i], L[suffixStart]
        suffixStart += 1


L = [1, 10, 2, 9, 7, 100, 99, 23, 0]


selSort(L)


print L
[0, 1, 2, 7, 9, 10, 23, 99, 100]

相关文章推荐

【算法导论学习-015】数组中选择第i小元素(Selection in expected linear time)

从数组array中找出第k小的元素,即经典的“线性时间选择”问题

【笔记】《Selection and Ordering of Linear Online Video Ads》

论文提出了一种为在线播放的流媒体选择广告的算法。
  • zinthos
  • zinthos
  • 2015年10月13日 15:48
  • 297

算法导论 Chapter 9.3 Selection in worst-case linear time

问题描述: 本节要求以最坏情况下O(n)的时间复杂度找到长度为n的数组中第 i 大的数。   解决方案: 《算法导论》上提供了一个算法,该算法实质上是利用了快排中划分的思想,但...

经典排序算法 - 选择排序Selection_sort

思想 n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果: ①初始状态:无序区为R[1..n],有序区为空。 ②第1趟排序 在无序区R[1..n]中选出关键字最小的记录R[k...

排序算法-选择排序 Selection Sort

代码三天不写手生,是真的哟。 所以要像做日常一样,每天写点最简单的东西。 两个版本...

选择排序—简单选择排序(Simple Selection Sort)

选择排序—简单选择排序(Simple Selection Sort) 基本思想 排序流程 算法实现 简单选择排序 改进二元选择排序 算法分析...
  • wgiyq
  • wgiyq
  • 2017年01月09日 17:34
  • 127

选择排序(Selection Sort)优化

选择排序(Selection Sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。它是不稳定的...

经典排序算法 - 选择排序Selection sort

经典排序算法 - 选择排序Selection sort 顾名思意,就是直接从待排序数组里选择一个最小(或最大)的数字,每次都拿一个最小数字出来, 顺序放入新数组,直到全部拿完 再简单点,对着一群...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:selection sort DEMO(linear complexity)
举报原因:
原因补充:

(最多只允许输入30个字)