代码改变世界

随笔档案-2012年09月

python实现快速排序

2012-09-07 17:06 by littlelion, 19504 阅读, 收藏,
摘要: 快速排序可以把时间复杂度优化到nlog2n,省心多了。。。来八卦一下快速排序1. 快速排序就是选定一个标志位,我们把它叫做flag,期望把小于flag的放在它的左边,把大于flag的放在它的右边,这样就以flag的分界,把原来的list分为了两个子list : list1 和 list2。2. 按照上述方法,在list1 和 list2中再分别选flag,将list2 和 list2 分别拆成两个list,依次类推3. 直到n = 1,即每个子list都只有一个元素 整个过程 : n/2x = 1 x = log2n那么如何实现step1呢,既然有的元素比flag大,有的元素比flag小,那么 阅读全文

用python实现插入排序和冒泡排序

2012-09-05 11:51 by littlelion, 7329 阅读, 收藏,
摘要: 插入排序和冒泡排序的概念我就不解释了吧。。。插入排序代码: 1 if __name__ =='__main__': 2 l = [4,1,9,13,34,26,10,7,4] 3 4 #=========================insert_sort========================= 5 def insert_sort(l): 6 for i in range(len(l)): 7 min_index = i 8 for j in range(i+1,len(l)): 9 ... 阅读全文