python algorithm
liukeforever
一个十年的程序员
展开
-
python quick sort
quick sort是一種分治的思想分治法的基本思想 分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。seq = seq_a + [k] + seq_ball item in seq_a all item in seq_b > kdef quicksort(seq):原创 2011-11-03 09:37:16 · 1935 阅读 · 0 评论 -
python heap sort
#!/usr/bin/env pythonfrom heapq import heappush, heappopif __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 · 2079 阅读 · 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 · 1859 阅读 · 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 · 918 阅读 · 1 评论