
python algorithm
liukeforever
一个十年的程序员
展开
-
python quick sort
quick sort是一種分治的思想 分治法的基本思想 分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。 seq = seq_a + [k] + seq_b all item in seq_a all item in seq_b > k def quicksort(seq):原创 2011-11-03 09:37:16 · 1968 阅读 · 0 评论 -
python heap sort
#!/usr/bin/env python from heapq import heappush, heappop if __name__ == "__main__": # Simple sanity test heap = [] data = [1, 3, 5, 7, 9, 2, 4, 6, 8, 0] for item in data:原创 2011-11-05 22:12:51 · 2098 阅读 · 1 评论 -
python 全排列
#!/usr/bin/env python # -*- encoding: utf-8 -*- def getpwd(s, l): if l == 1: return [x for x in s] else: return [x+y for x in s for y in getpwd(s, l-1)] s = 'abcd'原创 2011-11-05 22:17:35 · 1905 阅读 · 1 评论 -
python insertion sort
直接插入排序(insertion sort) 思想:用关键码依次比较待排序元素位置前面的关键码,找到要插入的位置,其后的元素依次后移。 时间复杂度:o(n*n) 关键码比较次数:n*n/2 对象移动次数:n*n/2 稳定性:稳定 #!/urs/bin/env python # -*- encoding:utf-8 -*- def insertsort(seq): fo原创 2011-11-03 21:53:56 · 954 阅读 · 1 评论