清风听雨 发表于 2015-4-26 08:37:18

常用排序算法的Python实现

  最近一段时间学习了python,发现python真是个强大,强大到和Matlab相媲美。为了熟悉python,将之前的各种排序算法用python实现了一下。
  常用的时间复杂度为O(n^2)的排序算法有冒泡排序,插入排序和选择排序,时间复杂度为O(nlog2(n))的算法有快速排序,归并排序和堆排序,
  这里的快速排序的初始比较值partition是随机给定的,在用python进行编写时能更清楚的理解整个排序算法的过程。



1 import random
2 def BubbleSort(num):
3   n=len(num)
4   for i in range(0,n):
5         for j in range(i,n):
6             if num>=num:
7               num,num=num,num
8   return num
9 def SelectSort(num):
10   for i in range(0,len(num)):
11         mindex=i
12         for j in range(i,len(num)):
13             if num>num:
14               mindex=j
15         num,num=num,num
16   return num
17 def InsertSort(num):
18   for i in range(1,len(num)):
19         j=i-1
20         tmp=num
21         while j>0 and tmp0:
33         if left>right:
34             result.append(right.pop(0))
35         else:
36             result.append(left.pop(0))
37   if len(left)>0:
38         result.extend(MergerSort(left))
39   else:
40         result.extend(MergerSort(right))
41   return result
42 def QuickSort(num):
43   if len(num)
页: [1]
查看完整版本: 常用排序算法的Python实现