摘要: 从一个有n个元素的列表中,随机选取m个元素,时间复杂度为n: 1 #!/usr/bin/env python 2 3 import random 4 5 #获取一个随机列表 6 a = range(0, 10) 7 random.shuffle(a) 8 print a 9 10 def ran... 阅读全文
posted @ 2015-03-06 13:46 准备起航 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 上一篇方法一,在一些特殊输入下时间复杂度会退化为n平方,比如:a = [5,5,5,5,5,5,5]全部一样的情况下方法二采用从左右两个方向遍历列表:1.从左向右找到大于参考值t的元素,2.从右向左找到小于参考值t的元素,3.然后交换两个元素具体实现如下代码所示:需要注意的是在一次排序过程中,m必须... 阅读全文
posted @ 2015-03-06 13:26 准备起航 阅读(231) 评论(0) 推荐(0) 编辑